6.下面程序的功能是输出100以内的个位数为6、且能被3整除的所有数。
main()
{ int i,j;
for(i=0; ① ;i++)
{ j=i*10+6;
if( ② ) countinue;
printf("%d",j);
}
}
7.下面程序的功能是用辗转相除法求两个正整数m和n的最大公约数。
hcf(int m,int n)
{ int r;
if(m { r=m; ① ; n=r; } r=m%n; while( ② ) { m=n; n=r; r=m%n; } ③ ; } 8.下面程序的功能是删除字符串s中的空格。 #include main() { char *s="Beijing ligong daxue"; int i,j; for(i=j=0;s[i]!='\0';i++) if(s[i]!= ' ') ① ; else ② ; s[j]= '\0'; printf("%s",s); } 9.下面程序的功能是显示具有n个元素的数组s中的最大元素。 #define N 20 main() { int i,a[N]; for(i=0;i scanf("%d",&a[i]); printf("%d\n", ① ); } fmax(int s[],int n) { int k,p; for(p=0,k=p;p if(s[p]>s[k]) ② ; return(k); } 10.下面的函数是一个求阶乘的递归调用函数。 facto(int n) { if( n == 1 ) ① ; else return( ② ); } 11.用递归实现将输入小于32768的整数按逆序输出。如输入12345,则输出54321。 #include"stdio.h" main() { int n; printf("Input n : "); scanf("%d", ① ); r(n); printf("\n"); } r( int m ) { printf("%d", ② ); m = ③ ; if( ④ ) ⑤ ; } 12.下面函数的功能是将一个整数存放到一个数组中。存放时按逆序存放。例如:483存放成"384"。 #include void convert(char *a, int n) { int i; if((i=n/10) !=0 ) convert( ① , i ); *a = ② ; } char str[10]= " "; main() { int number; scanf("%d", &number); convert( str, number ); puts(str); } 四、编写程序题 1.编写一个简单计算器程序,输入格式为:data1 op data2。其中data1和data2是参加运算的两个数,op为运算符,它的取值只能是+、-、*、/。 2.输入一个正整数,要求以相反的顺序输出该数。例如输入12345,输出位54321。 3.编写程序,以字符形式输入一个十六进制数,将其变换为一个十进制整数后输出。 4.编写程序,输入一个十进制整数,将其变换为二进制后储存在一个字符数组中。 5.编写程序,输出1000以内的所有完数及其因子。所谓完数是指一个整数的值等于它的因子之和,例如6的因子是1、2、3,而6=1+2+3,故6是一个完数。 6.编写一个函数实现将字符串str1和字符串str2合并,合并后的字符串按其ASCII码值从小到大进行排序,相同的字符在新字符串中只出现一次。 7.编写程序,从键盘输入一行字符串,将其中的小写字母全部转换成大写字母,然后输出到一个磁盘文件"test"中保存。 相关推荐: