重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
这个程序的功能就是,把那个向量或数组做镜像反转,比如12345,程序结果会是54321,如果是偶数就例如123456变为654321
成都创新互联为客户提供专业的网站建设、成都网站制作、程序、域名、空间一条龙服务,提供基于WEB的系统开发. 服务项目涵盖了网页设计、网站程序开发、WEB系统开发、微信二次开发、手机网站制作等网站方面业务。
它定义了一个函数inv,功能就是将读入的整型数组作镜像反转
有3个for语句,main函数中的2个for语句功能都是顺序输出a数组
inv函数中的for语句的功能是将数组的元素进行对调
有不明白的继续问,这是个很简单的C小程序
不用求原来的数字到底是几位,直接用取余数乘10的方法就可以了。
C语言是一门通用计算机编程语言,应用广泛。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称MCU)以及超级电脑等作业平台。
#include stdio.h
#include string.h
void inv(char* a){
int len = strlen(a), i;
char t;
for(i=0;ilen/2;i++){
t = a[i];
a[i] = a[len-1-i];
a[len-1-i] = t;
}
}
int main(){
char a[255];
gets(a);
inv(a);
puts(a);
return 0;
}
inv就是矩阵求逆函数,比如有个矩阵a,你用inv(a)就得到了a的逆矩阵
inv函数不是标准函数,没有统一算法。 inv 是英文 inverse,倒序,反变换。 MATLAB 中的 Y = inv(X),是矩阵求逆。 密码学中遇到的这个函数,也可能只是定性说明,表.
inv是齿轮的渐开线函数,如:inv a=tan a - a
计算器一般没有INV键,计算器上与INV键具有相似功能的是SHIFT键,都是改变某些按键功能的键。计算器的按键上和按键的上方印有不同的计算功用(一般按键上用白色.
1.
#includestdio.h
#define N 100
void main()
{
int a,b,*p,maxLen,temp,i,k,arr[N]={0};
int linkrun(int a,int b,int *p);
printf("please input two integer:\n");
scanf("%d %d",a,b);
if (ab) { temp=a; a=b; b=temp; }
p=arr;
maxLen=linkrun(a,b,p);
printf("sequence length is \n");
for (i=0;ib-a+1;i++)
printf("%d \n",p[i]);
printf("\nMax Length is %d\n",maxLen);
}
int linkrun(int a,int b,int *p)
{
int i,j,n,max=0;
for (i=a;i=b;i++)
{
n=i; j=1; //printf("---%d ",n);
while(n1)
{
if (n%2==0)
n=n/2;
else
n=3*n+1;
j++; //printf("---%d ",n);
}
p[i-a]=j;
//printf("\n");
if (jmax) max=j;
}
return max;
}
2.
#include stdio.h
#include string.h
#define N 80
void main()
{
char s[N],s1[N],s2[N];
void inv(char b[]);
void merage(char a[],char b[],char c[]);
printf("please input the first string: ");
gets(s1);
printf("please input the second string: ");
gets(s2);
inv(s1);
printf("\nThe first string after inverting:\n");
printf("%s",s1);
merage(s1,s2,s);
printf("\nThe string after meraging:\n");
printf("%s",s);
}
void inv(char b[]) //将b指向的字符串逆序存放
{
int i=0, len=strlen(b);
char temp;
while(ilen)
{
len--;
temp=b[i];
b[i]=b[len];
b[len]=temp;
i++;
}
}
void merage(char a[], char b[], char c[])//合并字符串
{
int lena=strlen(a),lenb=strlen(b), len=0;
int i=0,j=0,k=0;
while(ilena jlenb)
{
c[k]=a[i]; i++; k++;
c[k]=b[j]; j++; k++;
}
if (i=lena)
{
while(jlenb)
{
c[k]=b[j];
j++;
k++;
}
}
else
{
while(ilena)
{
c[k]=a[i];
i++;
k++;
}
}
c[k]='\0';
}
3.
#include stdio.h
#define N 100
double fun(int n,int a[])
{
int i,k;
double sum=0;
k=0;
for(i=2;in;i++)
{
if(n%i==0)
{
printf("%d,",i);
a[k]=i; k++;
}
}
for (i=0;ik;i++)
sum=sum+1.0/a[i];
return (sum);
}
void main()
{
int n,arr[N]={0};
double d;
printf("please input a integer less than 100: ");
scanf("%d",n);
while(n=100)
{
printf("the integer less than 100: ");
scanf("%d",n);
}
d=fun(n,arr);
printf("\nsum=%lf \n",d);
}
4.
#include stdio.h
#define N 10
int max,min;
int fun(int *a,int n)
{
int i,maxi,mini;
max=min=a[0];
maxi=mini=0;
for(i=1;in;i++)
{
if(a[i]max)
{
max=a[i];
maxi=i;
}
if(a[i]min)
{
min=a[i];
mini=i;
}
}
a[maxi]=min;
a[mini]=max;
}
void main()
{
int i,n,arr[N]={0};
printf("please input the number of array elements: ");
scanf("%d",n);
printf("\nplease input %d integers: ",n);
for(i=0;in;i++)
scanf("%d",arr[i]);
printf("\n");
fun(arr,n);
for (i=0;in;i++)
printf("%d ",arr[i]);
printf("\nmax=%d min=%d\n",max,min);
}
5.
#include stdio.h
#include string.h
#define N 80
void main()
{
char a[N]= "ABCDEFGHIJK";
int m;
void fun(char *w,int m);
printf("please input a string: ");
gets(a);
printf("The original string:\n");
puts(a);
printf("Enter m: ");
scanf("%d",m);
fun(a,m);
printf("\nThe string after moving:\n");
puts(a);
}
void fun(char *w,int m)
{
char b[N];
int i,j=0;
for(i=0;im;i++)
{
b[j]=w[i];
j++;
}
for (i=0;istrlen(w)-m;i++)
w[i]=w[i+m];
for(j=0;jm;j++)
{
w[i]=b[j];
i++;
}
w[i]='\0';
}
6.
#include stdio.h
#include string.h
#define SIZE 5
struct student
{
char num[6];
char name[6];
int age;
}stu[SIZE];
main()
{
int i;
void fun();
/*输入*/
printf("please input %d students \n",SIZE);
for (i=0;iSIZE;i++)
{
printf("学号: ");
scanf("%s",stu[i].num);
printf("姓名: ");
scanf("%s",stu[i].name);
printf("年龄: ");
scanf("%d",stu[i].age);
}
fun();
for (i=0;iSIZE;i++)
printf("学号:%s 姓名:%s 年龄:%d \n",stu[i].num,stu[i].name,stu[i].age);
printf("the result after sorting is:\n");
for (i=0;iSIZE;i++)
printf("学号:%s 姓名:%s 年龄:%d \n",stu[i].num,stu[i].name,stu[i].age);
}
void fun()
{
int i,j;
struct student stu_temp;
for(i=0;iSIZE;i++)
{
for (j=i+1;jSIZE;j++)
if (strcmp(stu[i].name,stu[j].name)0)
{
stu_temp=stu[i];
stu[i]=stu[j];
stu[j]=stu_temp;
}
if (strcmp(stu[i].name,stu[j].name)==0)
{
if (stu[i].agestu[j].age)
{
stu_temp=stu[i];
stu[i]=stu[j];
stu[j]=stu_temp;
}
}
}
}
给我追加分数吧~~咱一个学校的应该!
static int reverse2(int num, int t)
{
if (num != 0)
return reverse2(num / 10, t * 10 + num % 10);
else
return t;
}
int reverse(int num)
{
if (num 0)
return -reverse2(-num, 0);
else
return reverse2(num, 0);
}
#include stdio.h
int main()
{
int n;
for(;;) {
scanf("%d", n);
if(n == 0) break;
printf("%d\n", reverse(n));
}
return 0;
}