第五题#include <stdio.h>int main (){int a[10][10],i,j,n;printf("Input n:");scanf("%d",&n);printf("* ");for(j=1;j<=n;j++){a[0][j]=j;printf("%d ",a[0][j]);}printf("\n");for(i=1;i<=n;i++){a[i][0]=i;printf("%d ",a[i][0]);for(j=1;j<=i;j++){a[i][j]=a[i][0]*a[0][j];printf("%d ",a[i][j]);}printf("\n");}return 0;}第二题#include <stdio.h>int main(void){int a[12]={31,0,31,30,31,30,31,31,30,31,30,31};int year,month,day,sum=0,i;printf("Input year,month,day:");scanf("%d%d%d",&year,&month,&day);if(year%4==0&&year%100!=0||year%400==0) a[1]=29;elsea[1]=28;for(i=0;i<month-1;i++)sum=sum+a[i];sum=sum+day;printf("%d",sum);return 0;}第三题#include <stdio.h>int main (){int n,i,j,a[6][6],index1,index2,index3,max;printf("Input n:");scanf("%d",&n);printf("Input arry:");for(i=0;i<n;i++){for(j=0;j<n;j++)scanf("%d",&a[i][j]);}for(i=0;i<n;i++){max=a[i][0];for(j=0;j<n;j++){if(a[i][j]>=max){index1=j;max=a[i][index1];}}for(i=0;i<n;i++){if(a[i][index1]<=max){index2=i;max=a[index2][index1];}}for(j=0;j<n;j++){if(a[index2][j]>=max){index3=j;max=a[index2][index3];}}if(index3==index1)break;}if(index3==index1)printf("a[%d][%d]=%d\n",index2,index3,a[index2][index3]);elseprintf("No\n");return 0;}字符串2题#include <stdio.h>int main (){char a[80],b;int i,index=-1,c;printf("Input a character:");scanf("%c",&b);printf("Input a string:");scanf("%s",a); (不能用gets,不知道为什么)for(i=0;a[i]!='\0';i++){if(a[i]==b)index=i;}if(index==-1)printf("Not Found\n");elseprintf("index=%d\n",index);return 0;}C语言字符串第四题#include <stdio.h>int main(){char a[80];int i;printf("Input a string:");gets(a);printf("After replaced:");for(i=0;a[i]!='\0';i++){if('A'<=a[i]&&a[i]<='Z')a[i]='A'+'Z'-a[i];printf("%c",a[i]);}printf("\n");return 0;}第五题#include <math.h>#include <stdio.h>int main (){char a[80],d[80];int i,j=-1,sum=0,sum1;printf("Input a string:");gets(a);for(i=0;a[i]!='\0';i++){if((a[i]>='0'&&a[i]<='9')||(a[i]>='A'&&a[i]<='F')){j++;d[j]=a[i];}}i=j;for(j=j;j>=0;j--){if(d[j]>='A'&&d[j]<='F')d[j]=d[j]-55;if(d[j]>='0'&&d[j]<='9')d[j]=d[j]-48;sum1=d[j];sum=sum1*pow(16,i-j)+sum;}printf("Hex=%d\n",sum);return 0;}指针约瑟夫环问题(不会做,看的答案,还是不懂)#include<stdio.h>#include<malloc.h>#include <stdlib.h>int main(){int n,i,total,token,*a;printf("Input n:");scanf("%d",&n);if((a=(int*)malloc(n*sizeof(int)))==NULL)exit(1);for(i=0;i<n;i++)a[i]=i+1;total=n;i=0;while(total>1){token=0;while(token<3){if(a[i]!=0)token++;if(token<3)i=(i+1)%n;}a[i]=0;i=(i+1)%n;total--;}for(i=0;i<n;i++)if(a[i]!=0)break;printf("Last No. is: %d\n",a[i]);free(a);return 0;}30页第5题#include <math.h>#include <stdio.h>int main(){float loan,rate,money;int year;printf("Input loan:");scanf("%f",&loan);printf("Input rate:");scanf("%f",&rate);printf("还款年限——月还款额\n");for(year=5;year<=30;year++){money=(loan*rate*pow(1+rate,year*12))/(pow(1+rate,year*12)-1);printf("还款年限:%d\t",year);printf("月还款额:%10.0f\n",money);}return 0;}P42页第八题#include <stdio.h>int main (){int a,n,i,sum=0,j,b;printf("Input a:");scanf("%d",&a);printf("Input n:");scanf("%d",&n);b=a;for(j=1;j<=n;j++){a=b;for(i=1;i<=j-1;i++)a=b+a*10;sum=sum+a;}printf("s=%d\n",sum);return 0;}实验八第四题void delchar(char s[],char c){char *p=s,*q=s;for(;*p!='\0';p++){if(*p!=c)*q++=*p;}*q='\0';}#include <stdio.h>#define n 80int main (){char s[n],*p,a;printf("Input a string:");gets(s);p=s;printf("input a char:");scanf("%c",&a);delchar(p,a);printf("After delected,the string is:");printf("%s\n",s);return 0;}void strmcpy(char s[],char t[],int m){char *q=s,*p=t;for(p=p+m-1;*p!='\0';p++,q++)*q=*p;*q='\0';}#include <stdio.h>int main (){char s[80],*p,t[80],*q=s;int a;printf("Input a string:");gets(t);p=t;printf("input an interger:");scanf("%d",&a);strmcpy(q,p,a);printf("Output is:");printf("%s\n",s);return 0;}实验八第五题#include <stdio.h>#define n 80int main (){char s[n],a,*p,*q,t[n];q=t;int i=-1; (注意i的初值)printf("Input a string:");gets(s);p=s;for(;*p!='\0';p++)i++;for(i=i;i>=0;i--,q++){*q=s[i];}*q='\0';for(p=s,q=t;*p!='\0';p++,q++){if(*p!=*q)break;}if(*p=='\0')printf("YES\n");elseprintf("No\n");return 0;}89页第九题源程序:#include <stdio.h>int main (void){struct student{int number;char name[20];int score[3];int sum;};(学生不止一个,结构体变量定义不对)int i,j,k,n,max=0;printf("输入n:");scanf("%d",&n);for(i=0;i<n;i++){printf("输入第%d个学生的学号、姓名和三门课程成绩:",i+1);scanf("%d%s",&student[i].number,&student[i].name);for(j=0;j<3;j++){scanf("%d",&student[i].score[j]);student[i].sum+=student[i].score[j]; (如果这样成绩为随机数,应该在刚进入外循环时,定义stud[i].sum=0}}max=student[0].sum;for(i=0;i<n;i++)if(max<student[i].sum) (把小于改成小于或等于){max=student[i].sum; k=i;}printf("总分最高的学生是%s,%d分\n",student[k].name,student[k].sum);return 0;}改正后的程序#include <stdio.h>int main (void){struct student{int number;char name[20];int score[3];int sum;}stud[10];int i,j,k,n,max;printf("输入n:");scanf("%d",&n);for(i=0;i<n;i++){stud[i].sum=0;printf("输入第%d个学生的学号、姓名和三门课程成绩:",i+1);scanf("%d%s",&stud[i].number,stud[i].name);for(j=0;j<3;j++){scanf("%d",&stud[i].score[j]);stud[i].sum+=stud[i].score[j];}}max=stud[0].sum;for(i=0;i<n;i++)if(max>=stud[i].sum){max=stud[i].sum;k=i;}printf("总分最高的学生是%s,%d分\n",stud[k].name,stud[k].sum);return 0;}108页改错题源程序:#include <stdio.h>#include <stdlib.h>int main (void){FILE fp; (必须指针定义,fp前面加*)int n,sum;if((fp=fopen("a.txt","r"))==NULLl){ (文件为读\写文件)printf("Cant't open File!");exit(0);}while(fscanf(fp,"%d",&n)==EOF) (改为不等于)sum=sum+n;fprintf(fp,"%d",sum);fclose(fp);return 0; }。