题库
1、用起泡法对N=10个整数由大到小排序。10个整数由键盘输入,
排序后从屏幕输出结果
#include〈stdio、h〉 void main() {
int a[10],i,j,t;
printf(\输入十个整数:\\n\ for(i=0;i〈10;i++) scanf(”%d\[i]); for(j=0;j<9;j++)
for(i=0;i〈9-j;i++) {
if(a[i]〈a[i+1])
t=a[i],a[i]=a[i+1],a[i+1]=t; }
printf(\新顺序是:\\n\for(i=0;i〈10;i++) printf(”%5d”,a[i]); printf("\\n\}
2、编写一函数,从实参传来一个字符串,分不统计其中数字、大写字母、小写字母与其它字符的个数,输入输出在main函数中完成 #include
void count(char[]); char text[100];
printf(”输入字符串:\n\gets(text);
printf(”string:”); puts(text); a=0; b=0; c=0; d=0;
count(text);
printf(”数字:%d,大写字母:%d,小写字母:%d,其她字符:%d\n”,a,b,c,d); }
void count(char str[]) {int i;
for(i=0;str[i]!='\\0';i++)
? if(str[i]>='0’&&str[i]〈='9') ?? a++;
else if(str[i]>='A'&&str[i]<=’Z') ? b++;
else if(str[i]>='a'&&str[i]〈=’z’) ?? c++; ? else ?? d++; }
3、用一函数inv将一个字符串的字符逆序排列。输入输出在main函数中完成。要求在inv中用指针处理、
#include <stdio、h>
#include 〈string、h> void inv(char str[]) { int len,i; ?char t;
?len=strlen(str); ?for(i=0;i<len/2;i++) ?{
??t=*(str+i);
??*(str+i)=*(str+(len-i-1)); *(str+(len—i-1))=t; ?} }
void main() {
?char str[20];
?printf(”input str:”); ?scanf(”%s”,str); ?inv(str);
?printf(\%s\\n",str); }
4、求200之内的素数的与、从屏幕输出结果 #include <stdio、h〉 int prime(int m) { int i; ?
?for(i=2;i〈m;i++) {
??if(m%i==0) break; }
?if(i==m)
? return 1; else return 0; }
void main() {
?int i,sum=0; for(i=2;i<=200;i++) ?{
??if(prime(i)==1) sum+=i; ?}? ?
?printf(\素数之与为%d\n\sum); }
5从屏幕输入一行字符,将所有的大写字母转换为小写字母,所有的小写字母转换为大写字母,其它字符不变,从屏幕输出结果 #include <stdio、h> #include <string、h> void change(char s[]) {
?int len,i; len=strlen(s);
?for(i=0;i〈len;i++) { if(s[i]〉=65&&s[i]〈=90) ??{
???s[i]=s[i]+32; ? }
? else if(s[i]>=97&&s[i]〈=122) ? {
?? s[i]=s[i]-32; ??}
else ? s[i]=s[i]; ?} }
void main() {
?char s[100];
?printf(”input the string:”); ?gets(s); ?change(s);
?printf(\%s\n",s);