{ count=0; m=i;
for(k=0;k<5;k++) {
j=i/4*5+1; i=j;
if(j%4==0) count++; else break; }
i=m;
if(count==4)
{printf(\ break;} } }
【程序47】
题目:809*??=800*??+9*??+1 其中??代表的两位数,8*??的结果为两位数,9*??的结果为3位数。求??代表的两位数,及809*??后的结果。
1.程序分析: 2.程序源代码: output(long b,long i)
{ printf(\ }
main()
{long int a,b,i; a=809;
for(i=10;i<100;i++) {b=i*a+1;
if(b>=1000&&b<=10000&&8*i<100&&9*i>=100)
output(b,i); } }
【程序48】
题目:八进制转换为十进制
1.程序分析: 2.程序源代码: main()
{ char *p,s[6];int n;
p=s; gets(p); n=0;
while(*(p)!='\\0') {n=n*8+*p-'0'; p++;}
printf(\ }
【程序49】
题目:求0—7所能组成的奇数个数。 1.程序分析: 2.程序源代码: main() {
long sum=4,s=4; int j;
for(j=2;j<=8;j++)/*j is place of number*/ { printf(\ if(j<=2) s*=7; else s*=8; sum+=s;}
printf(\ }
【程序49】
题目:一个偶数总能表示为两个素数之和。1.程序分析: 2.程序源代码: #include \ #include \ main()
{ int a,b,c,d; scanf(\
for(b=3;b<=a/2;b+=2) { for(c=2;c<=sqrt(b);c++) if(b%c==0) break; if(c>sqrt(b)) d=a-b; else break;
for(c=2;c<=sqrt(d);c++)
if(d%c==0) break; if(c>sqrt(d))
printf(\ } }
【程序50】
题目:判断一个素数能被几个9整除 if(a[i]=='\\0') p=b+j; else p=a+i; strcat(c,p); puts?; }
1.程序分析: 2.程序源代码: main()
{ long int m9=9,sum=9; int zi,n1=1,c9=1; scanf(\ while(n1!=0) { if(!(sum%zi)) n1=0; else
{m9=m9*10; sum=sum+m9; c9++; } }
printf(\be divided \\\ }
【程序51】
题目:两个字符串连接程序 1.程序分析: 2.程序源代码: #include \ main()
{char a[]=\ char b[]=\ char c[80],*p; int i=0,j=0,k=0;
while(a[i]!='\\0'&&b[j]!='\\0') {if (a[i] { c[k]=a[i];i++;} else
c[k]=b[j++]; k++; }
c[k]='\\0';
by %d
【程序52】
题目:回答结果(结构体变量传递) 1.程序分析: 2.程序源代码: #include \ struct student { int x; char c; } a; main() {a.x=3; a.c='a'; f(a);
printf(\ }
f(struct student b) {
b.x=20; b.c='y'; }
【程序54】
题目:某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下:每位数字都加上5,然后用和除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换。 1.程序分析: 2.程序源代码: main()
{int a,i,aa[4],t; scanf(\ aa[0]=a; aa[1]=a0/10; aa[2]=a00/100; aa[3]=a/1000;
for(i=0;i<=3;i++) {aa[i]+=5; aa[i]%=10; }
for(i=0;i<=3/2;i++) {t=aa[i]; aa[i]=aa[3-i]; aa[3-i]=t; }
for(i=3;i>=0;i--) printf(\ }
【程序55】
题目:计算字符串中子串出现的次数 1.程序分析: 2.程序源代码: #include \ #include \ main()
{ char str1[20],str2[20],*p1,*p2; int sum=0;
printf(\ scanf(\ p1=str1;p2=str2; while(*p1!='\\0') {
if(*p1==*p2)
{while(*p1==*p2&&*p2!='\\0') {p1++; p2++;} } else p1++;
if(*p2=='\\0') sum++; p2=str2; }
printf(\ getch();}
【程序56】
题目:从键盘输入一些字符,逐个把它们送
到磁盘上去,直到输入一个#为止。 1.程序分析: 2.程序源代码: #include \ main() { FILE *fp;
char ch,filename[10]; scanf(\
if((fp=fopen(filename,\ {printf(\ exit(0);}
ch=getchar(); ch=getchar(); while(ch!='#')
{fputc(ch,fp);putchar(ch); ch=getchar(); }
fclose(fp); }
【程序57】
题目:从键盘输入一个字符串,将小写字母全部转换成大写字母,然后输出到一个磁盘文件“test”中保存。输入的字符串以!结束。1.程序分析: 2.程序源代码: #include \ main() {FILE *fp;
char str[100],filename[10]; int i=0;
if((fp=fopen(\ { printf(\ exit(0);}
printf(\ gets(str); while(str!='!')
{ if(str>='a'&&str<='z') str=str-32; fputc(str,fp); i++;}
fclose(fp);
fp=fopen(\ fgets(str,strlen(str)+1,fp);
printf(\ fclose(fp); }
【程序58】
题目:有两个磁盘文件A和B,各存放一行字母,要求把这两个文件中的信息合并(按字母顺序排列),
输出到一个新文件C中. 1.程序分析: 2.程序源代码: #include \ main() { FILE *fp; int i,j,n,ni;
char c[160],t,ch;
if((fp=fopen(\
{printf(\ exit(0);}
printf(\ for(i=0;(ch=fgetc(fp))!=EOF;i++) {c[i]=ch; putchar(c[i]); }
fclose(fp); ni=i;
if((fp=fopen(\
{printf(\ exit(0);}
printf(\ for(i=0;(ch=fgetc(fp))!=EOF;i++) {c[i]=ch; putchar(c[i]); }
fclose(fp); n=i;
for(i=0;i
{t=c[i];c[i]=c[j];c[j]=t;} printf(\ fp=fopen(\ for(i=0;i } fclose(fp); } 【程序59】 题目:有五个学生,每个学生有3门课的成绩,从键盘输入以上数据(包括学生号,姓名,三门课成绩),计算出 平均成绩,况原有的数据和计算出的平均分数存放在磁盘文件\中. 1.程序分析: 2.程序源代码: #include \ struct student { char num[6]; char name[8]; int score[3]; float avr; } stu[5]; main() {int i,j,sum; FILE *fp; /*input*/ for(i=0;i<5;i++) { printf(\ printf(\ scanf(\ printf(\ scanf(\ sum=0; for(j=0;j<3;j++) { printf(\ scanf(\ sum+=stu[i].score[j]; } stu[i].avr=sum/3.0; } fp=fopen(\ for(i=0;i<5;i++) if(fwrite(&stu[i],sizeof(struct student),1,fp)!=1) printf(\ fclose(fp); }