由于这些代码也是我初学时写的代码,故其中的规范程度及简洁程度并不很好(此处我后来写的有可以参考一下->C语言代码规范),但是能很好的接近出初学者的水平,也更有参考价值!排版不易,喜欢就点个赞吧!如有问题,请勿吐槽,欢迎留言互相学习。
第7周编程题在线测试
代码实现
#include
#include
int Myatoi(char str[]);
int main()
{
char a[8];
int b;
printf("Input a string:");
scanf("%s",a);
b=Myatoi(a);
printf("%d",b);
return 0;
}
int Myatoi(char str[])
{
int i,u,sum=0;
u=strlen(str);
for(i=0;i<u;i++)
{
if(str[i]>=48 && str[i]<=57)
{
sum*=10;
sum+=str[i];
sum-=48;
}
}
if(sum==0)
return 0;
else
return sum;
}
代码实现
#include
#include
int SearchString(char s[], char d[]);
int main()
{
char a[80],b[80];
int c;
printf("Input a string:");
gets(a);
printf("Input another string:");
gets(b);
c=SearchString(a,b);
if(c==-1)
{
printf( "Not found!\n");
}
else
{
printf("Searching results:%d\n",c);
}
return 0;
}
int SearchString(char s[], char d[])
{
int a,b,c,e,f,q;
b=strlen(s);
f=strlen(d);
for(a=0;a<b;a++)
{
q=1;
for(e=0,c=a;e<f;e++,c++)
{
if(s[c]!=d[e])
{
q=0;
}
}
if(q==1)
return a+1;
}
return -1;
}
代码实现
#include
#include
int CountRepeatStr(char str[], int *tag);
int main()
{
char a[80];
int i=0,t;
printf("Input a string:\n");
gets(a);
t=CountRepeatStr(a,&i);
printf("%c:%d\n",t,i);
return 0;
}
int CountRepeatStr(char str[], int *tag)
{
int i,u,max=0,m=0;
u=strlen(str);
for(i=0,*tag=1;i<u-1;i++)
{
if(str[i]==str[i+1])
{
*tag+=1;
if(*tag>max)
{
max=*tag;
m=str[i];
}
if(*tag==max)
{
m=str[i];
}
}
else{*tag=1;}
}
*tag=max;
return m;
}
代码实现
#include
#include
void Caesar(char c[]);
int main()
{
char a[101];
printf("Input a string:");
gets(a);
Caesar(a);
return 0;
}
void Caesar(char c[])
{
int i,n;
n=strlen(c);
for(i=0;i<n;i++)
{
if(c[i]=='x')
{
c[i]='a';
}
else if(c[i]=='y')
{
c[i]='b';
}
else if(c[i]=='z')
{
c[i]='c';
}
else
{
c[i]+=3;
}
}
puts(c);
}
练兵区
代码实现
#include
#include
int main()
{
char a[1000];
int i,y,n,t=1;
printf("Input string:");
gets(a);
n=strlen(a);
i=0,y=n-1;
for(;i<=n/2;i++,y--)
{
if(a[i]!=a[y])
{
t=0;
break;
}
}
if(t==0)
{
printf("No!\n");
}
else
{
printf("Yes!\n");
}
return 0;
}
代码实现
#include
#include
void DD(int a,long *b,float *c);
void EE(int a,long *b,float *c);
void FF(int a,long *b,float *c);
void GG(int a,float *c);
int main()
{
int n,i,u,a=1,max;
long b[100];
float c[100],sum=0;
printf("Input student number(n<30):\n");
scanf("%d",&n);
while(1!=0)
{
printf("Management for Students' scores\n\
1.Input record\n\
2.Caculate total and average score of course\n\
3.Sort in descending order by score\n\
4.Sort in ascending order by number\n\
5.Search by number\n\
6.Statistic analysis\n\
7.List record\n\
0.Exit\n\
Please Input your choice:\n");
scanf("%d",&a);
if(a==1)
{
printf("Input student's ID, name and score:\n");
for(u=0;u<n;u++)
{
scanf("%ld%f",&b[u],&c[u]);
}
}
else if(a==2)
{
for(u=0;u<n;u++)
{
sum+=c[u];
}
printf("sum=%.0f,aver=%.2f\n",sum,sum/n);
}
else if(a==3)
{
printf("Sort in descending order by score:\n");
DD(n,&b,&c);
}
else if(a==4)
{
printf("Sort in ascending order by number:\n");
EE(n,&b,&c);
}
else if(a==5)
{
printf("Input the number you want to search:\n");
FF(n,&b,&c);
}
else if(a==6)
{
GG(n,&c);
}
else if(a==7)
{
EE(n,&b,&c);
}
else if(a==0)
{
printf("End of program!\n");
break;
}
else
{
printf("Input error!\n");
}
}
return 0;
}
void DD(int a,long *b,float *c)
{
int i,y,r;
float t;
for(i=0;i<a-1;i++)
{
for(y=i+1;y<a;y++)
{
if(*(c+i)<=*(c+y))
{
t=*(c+y),r=*(b+y);
*(c+y)=*(c+i),*(b+y)=*(b+i);
*(c+i)=t,*(b+i)=r;
}
}
}
for(i=0;i<a;i++)
{
printf("%ld\t%.0f\n",*(b+i),*(c+i));
}
}
void EE(int a,long *b,float *c)
{
int i,y,r;
float t;
for(i=0;i<a-1;i++)
{
for(y=i+1;y<a;y++)
{
if(*(b+i)<=*(b+y))
{
t=*(c+y),r=*(b+y);
*(c+y)=*(c+i),*(b+y)=*(b+i);
*(c+i)=t,*(b+i)=r;
}
}
}
for(i=a-1;i>=0;i--)
{
printf("%ld\t%.0f\n",*(b+i),*(c+i));
}
}
void FF(int a,long *b,float *c)
{
long int d,t=0,i;
scanf("%ld",&d);
for(i=0;i<a;i++)
{
if(*(b+i)==d)
{
printf("%ld\t%.0f\n",d,*(c+i));
t=1;
break;
}
}
if(t==0)
{
printf("Not found!\n");
}
}
void GG(int a,float *c)
{
int i,q,w,e,r,t,y;
q=w=e=r=t=y=0;
for(i=0;i<a;i++)
{
if(*(c+i)<60)
{
q++;
}
else if(*(c+i)<70)
{
w++;
}
else if(*(c+i)<80)
{
e++;
}
else if(*(c+i)<90)
{
r++;
}
else if(*(c+i)<100)
{
t++;
}
else if(*(c+i)==100)
{
y++;
}
}
printf("<60\t%d\t%.2f%%\n",q,(float)(100*q)/a);
printf("60-69\t%d\t%.2f%%\n",w,(float)(100*w)/a);
printf("70-79\t%d\t%.2f%%\n",e,(float)(100*e)/a);
printf("80-89\t%d\t%.2f%%\n",r,(float)(100*r)/a);
printf("90-99\t%d\t%.2f%%\n",t,(float)(100*t)/a);
printf("100\t%d\t%.2f%%\n",y,(float)(100*y)/a);
}
#include
#include
int main(void)
{
char *first, *second, *result;
printf("Input the first string:\n");
gets(first);
printf("Input the second string:\n");
gets(second);
result = MyStrcat(first, second);
printf("The result is : %s\n", result);
return 0;
}
char* MyStrcat(char *dest, char *source)
{
int i = 0;
while (*(dest+i)!='\0') i++;
for (; *(source+i)!='\0'; i++)
{
*(dest+i) = *(source+i);
}
return dest;
}
代码实现
#include
#include
int main(void)
{
char first[200], second[200];
int i=0,y=0;
printf("Input the first string:\n");
gets(first);
printf("Input the second string:\n");
gets(second);
while (*(first+i)!='\0') i++;
while (*(second+y)!='\0') y++;
for (y=0; *(second+y)!='\0'; y++)
{
*(first+i+y) = *(second+y);
}
*(first+i+y)=='\0';
printf("The result is : %s\n", first);
return 0;
}
#include
#define ARR_SIZE 5
void YH(int a[][ARR_SIZE], int n);
void PrintYH(int a[][ARR_SIZE], int n);
int main(void)
{
int a[ARR_SIZE][ARR_SIZE];
YH(a, ARR_SIZE);
PrintYH(a, ARR_SIZE);
return 0;
}
void YH(int a[][ARR_SIZE], int n)
{
int i, j ;
for (i=1; i<=n; i++)
{
a[i][1] = 1;
a[i][i] = 1;
}
for (i=3; i<=n; i++)
{
for (j=2; j<=i-1; j++)
{
a[i][j] = a[i-1][j-1] + a[i-1][j];
}
}
}
void PrintYH(int a[][ARR_SIZE], int n)
{
int i , j ;
for (i=1; i<n; i++)
{
for (j=1; j<=i; j++)
{
printf("%4d", a[i][j]);
}
printf("\n");
}
代码实现
#include
#define ARR_SIZE 5
void YH(int a[][ARR_SIZE], int n);
void PrintYH(int a[][ARR_SIZE], int n);
int main(void)
{
int a[ARR_SIZE][ARR_SIZE];
YH(a, ARR_SIZE);
PrintYH(a, ARR_SIZE);
return 0;
}
void YH(int a[][ARR_SIZE], int n)
{
int i, j ;
for (i=1; i<n; i++)
{
a[i][1] = 1;
a[i][i] = 1;
}
for (i=3; i<n; i++)
{
for (j=2; j<=i-1; j++)
{
a[i][j] = a[i-1][j-1] + a[i-1][j];
}
}
}
void PrintYH(int a[][ARR_SIZE], int n)
{
int i , j ,t=1;
for (i=1; i<n; i++)
{
for (j=1; j<=i; j++)
{
printf("%4d", a[i][j]);
if(j==n-1)
{
t=0;
}
}
if(t==1)
{
printf("\n");
}
}
}
代码实现
#include
#include
int main()
{
float s=11,i;
for(i=4;i>0;i--)
{
s+=1/(i+1);
s*=(i+1)/i;
}
printf("There are %d fishes at first.\n",(int)s);
return 0;
}
代码实现
#include
#include
int FindMax(int num[], int n, int *pMaxPos);
int FindMin(int num[], int n, int *pMinPos);
int main()
{
int a[10],i,b=0,c=0,w,e;
printf("Input 10 numbers:\n");
for(i=0;i<10;i++)
{
scanf("%d",&a[i]);
}
w=FindMax(a,10,&b);
e=FindMin(a,10,&c);
printf("Max=%d,Position=%d,Min=%d,Position=%d\n",w,b,e,c);
return 0;
}
int FindMax(int num[], int n, int *pMaxPos)
{
int max=num[0],i;
for(i=0;i<n-1;i++)
{
if(max<=num[i+1])
{
max=num[i+1];
*pMaxPos=i+1;
}
}
return max;
}
int FindMin(int num[], int n, int *pMinPos)
{
int min=num[0],i;
for(i=0;i<n-1;i++)
{
if(min>=num[i+1])
{
min=num[i+1];
*pMinPos=i+1;
}
}
return min;
}
代码实现
#include
void YH(int a[][10], int n);
void PrintYH(int a[][10], int n);
int main(void)
{
int ARR_SIZE,a[10][10];
printf("Input n (n<=10):\n");
scanf("%d",&ARR_SIZE);
YH(a, ARR_SIZE);
PrintYH(a, ARR_SIZE);
return 0;
}
void YH(int a[][10], int n)
{
int i, j ;
for (i=1; i<=n; i++)
{
a[i][1] = 1;
a[i][i] = 1;
}
for (i=3; i<=n; i++)
{
for (j=2; j<=i-1; j++)
{
a[i][j] = a[i-1][j-1] + a[i-1][j];
}
}
}
void PrintYH(int a[][10], int n)
{
int i , j ;
for (i=1; i<=n; i++)
{
for (j=1; j<=i; j++)
{
printf("%4d", a[i][j]);
}
printf("\n");
}
}
代码实现
#include
#include
int Inverse(char str1[], char str2[][100]);
int main()
{
char str1[100],str2[100][100],a;
int i;
printf("Input a sentence:");
gets(str1);
a=str1[strlen(str1)-1];
str1[strlen(str1)-1]='\0';
i=Inverse(str1,str2);
for(;i>0;i--)
{
printf("%s ",str2[i]);
}
printf("%s%c\n",str2[i],a);
return 0;
}
int Inverse(char str1[], char str2[][100])
{
int i=0,j=0,k=0;
while(str1[i]!='\0')
{
k=0;
while(str1[i]!=' '&&str1[i]!='\0')
{
str2[j][k]=str1[i];
k++;
i++;
}
if(str1[i]=='\0') break;
str2[j][k]='\0';
j++;
i++;
}
return j;
}