C初学者笔迹
学习中自己写的题目整理
倚楼听南风
Q2859043986
展开
-
/* 编写函数,实现两个字符串连接,不使用strcat函数*/
#include<stdio.h>main(){char a[10],b[10];int i=0,j=0;{whlie(a[i]!='\0') i++;whlie(b[j]!='\0') j++; a[i++]=b[j++]; } a[i]='\0'; puts(a); }原创 2020-07-07 11:02:53 · 754 阅读 · 1 评论 -
输入一个字符串,统计其中大写字母的个数
#include<stdio.h>{int count=0,i;gets(a);i=0;if(a[i]>='A'&&a[i]<='Z');count++;printf("%d",count);}原创 2020-07-07 10:56:12 · 19996 阅读 · 0 评论 -
输入一个字符串,求该字符串的长度
#include<stdio.h>{gets(a);i=0;whlie(a[i]!='\0')i++;printf("%d",i);}原创 2020-07-07 10:48:37 · 6906 阅读 · 4 评论 -
定义一个整形数组A[10],输入各个元素的值将数组元素逆置后输出
#include<stdio.h>main(){int A[10],i;for(i=0;i<10;i++)scanf("%d",&A[10]);for(i=0;i<5;i++)A[i]=A[10-i];for(i=0;i<10;i++)printf("%d",A[i]);}原创 2020-07-07 10:39:28 · 4938 阅读 · 1 评论 -
定义一个整形数组A[10],输入各个元素的值,输出最大的元素及其位置
#include<stdio.h>main(){int A[10]for(i=0;i<10;i++)scanf("%d",&A[i]);for(i=0;i<10;i++)if(A[i]>max){max=A[i];k=i;}printf("%d",max);printf("%d",k);}原创 2020-07-07 09:54:46 · 5233 阅读 · 0 评论 -
输入一个正整数,计算并输出各位上的数的和
#include<stdio.h>main(){int n,a,sum=0;scanf("%d",&n);whlie(n>0);{a=n%10;sum=sum+a;n=n/10;}printf("%d",sum);}原创 2020-07-07 09:42:36 · 14268 阅读 · 6 评论 -
输入两个数a,b, a大于b输出两数之和,否则输出两数之差
#include<stdio.h>main(){scanf("%d",&a);scanf("%d",&b);if(a>b)printf("%d",a+b);elseprintf("%d",a-b);}原创 2020-07-06 14:26:49 · 2370 阅读 · 0 评论 -
输入一个x的值,要求输出对应y的值
x<1 y=x1<=x<10 y=2x-1x>=10 y=3x-11#include<stdio.h>main(){int x,y;scanf("%d",&x);if(x<1)y=x; else if(x>=1&&x<10) y=2x-1; else if(x>=10) y=3x-11; printf("%d",y); }原创 2020-07-06 14:21:54 · 11288 阅读 · 3 评论 -
输入三角形的三边,并输出三角形面积
#include<stdio.h>main(){int a,b,c;float p,s;scanf("%d",&a);scanf("%d",&b);scanf("%d",&c);p=(a+b+c)/2;s=sqrt(p*(p-a)*(p-b)*(p-c));printf("三角形面积%f",s);}原创 2020-07-06 14:13:45 · 2878 阅读 · 2 评论 -
输入圆的半径(整型),输出圆面积及周长
#include<stdio.h>main(){int r;float l,s;scanf("%d",&r)l=2*3.14*r;s=3.14*r*r;printf("圆的周长%f,圆的面积%f",l,s);}原创 2020-07-06 14:03:53 · 2695 阅读 · 0 评论 -
从键盘输入一个大写字母N,程序输出大写N和小写n
#include<stdio.h>main( ){cahr N,n;scanf("%c",N);if(N=78)n=N+32;printf(%c%c,N,n);}原创 2020-07-06 13:58:16 · 1042 阅读 · 0 评论 -
结构体主函数和输出
编写一个函数 int print(struct student stu[]),打印学生成绩数组 stu 中的数据,并返回 所有 成 绩 都 及 格 ( >=60) 的 人 数 。该 数 组 中 有 5 个 学 生 的 数 据 记 录 , 每 个 记 录 包 括 num,name,score[3],用主函数输入这些记录,用 print 函数输出这些记录,并在主函数中输出及 格人数。已知学生成绩数组结构如下:#define N 5struct student{ char num[6];char原创 2020-06-22 19:53:19 · 536 阅读 · 0 评论 -
写一主函数,通过键盘为一维整型数组 a[10]输入数据,并进行从小到大的排序(必须用选择 法排序),并将排好序的数组元素输出。
#include<stdio.h>main(){int a[10];int i,j,t;for(i=0;i<10;i++)scanf("%d",&a[i]);for(i-0;i<10;i++)if(a[i]>a[i-1]){t=a[i];a[i]=a[i-1];a[i-1]=t;}for(i-0;i<10;i++)printf("%d",a[i]);}原创 2020-06-22 19:24:25 · 5228 阅读 · 0 评论 -
[结构体]有n个结构体变量,内含学生学号、姓名和3门课程的成绩。要求输出平均成绩最高的学生的信息(包括学号、姓名、3门课程成绩和平均成绩)。
#include <stdio.h>struct student{char num;char name[10];float score[3];float avg; } a[n];main(){for(i=0;i<=n;i++)scanf("%s%s%f%f%f%f",a[i].num,a[i].name,&a[i].score[0],&a[i].score[1],&a[i].score[2],0);}{int i,j,sum=0,kn原创 2020-06-21 15:59:50 · 2566 阅读 · 0 评论 -
将s1中的字符转换为下一个字符,如 A转换为B ,Z转换为A,其它字符不变
#include<stdio.h>main(){char s1[10];gets(s1);i=0;while(s1[i]!='\0')if(s1[i]+1<='Z')s1[i]=s1[i]+1-'Z'+'A';puts(s1);}原创 2020-06-20 11:58:22 · 331 阅读 · 0 评论 -
将数组str1中字符串中的小写英文字母放入数组str2中,输出数组str2中的字符串
#include<stdio.h>main(){gets(s1);gets(s2);i=0,j=0;while(s[i]!='\0')if(s[i]>='a'&&s[i]<='z'){s2[j++]=s1[i];i++;}s2[j]='\0';printf("%s",s2);}原创 2020-06-20 11:53:25 · 1143 阅读 · 0 评论 -
输入一个华氏温度,输出摄氏温度,计算公式为c=5/9*(F-32)。要求结果保留两位小数。
#include<stdio.h>main(){scanf("%lf",&F);printf("%.2lf",5.0*(F-32)/9.0);}原创 2020-06-20 11:48:43 · 8952 阅读 · 1 评论 -
求100之内自然数中最大的能被17整除的数。
#include<stdio.h>main(){int i;for(i=100;i>0;i--)if(i%17==0)break;printf("%d",i);}原创 2020-06-20 11:44:35 · 6198 阅读 · 0 评论 -
输入10个学生的成绩,统计学生的平均分,并将成绩小于平均分的成绩输出
#include<stdio.h>main(){int i,j;float s[10];float sum=0,avg;for(i=0;i<10;i++){scanf("%f",&s[i]);sum=sum+s[i];avg=sum/10;}for(i=0;i<10;i++)if(s[i]<avg)printf("%f",s[i]);}原创 2020-06-20 11:42:05 · 17854 阅读 · 2 评论 -
第一位最小的学生年龄为10岁,其余学生的年龄一个比一个大2岁,求第5个学生的年龄。
#include<stdio.h>#define N 10age(int k){if(k=1)return N;return age(k-1)+2;}main(){printf("%d",age(5));}原创 2020-06-20 11:37:17 · 1546 阅读 · 0 评论 -
统计s1字符串中,字母、数字的分别的个数
#include<stdio.h>main(){char s1[10];int i,s=0,n=0;gets(s1);for(i=0;s[i]!='\0';i++)if((s[i]>='a'&&s[i]<='z')||(s[i]>='A'&&s[i]<='Z')) s++; elseif(s[i]>='0'&&s[i]<='9') n++;printf("字母个数=%d",s);原创 2020-06-20 11:33:14 · 496 阅读 · 0 评论 -
删除s1中所有 *
#include<stdio.h>main(){char s1[10],s2[10];i=0,j=0;while(s1[i]!='\0'){if(s[i]!='*')s2[j++]=s1[i];i++;}s2[j]='\0';printf("%s",s2);}原创 2020-06-20 11:24:50 · 162 阅读 · 0 评论 -
统计用0至9之间的不同的数字组成的三位数的个数
#include<stdio.h>main(){int i,j,k,n=0;for(i=1;i<=9;i++)for(j=0;j<=9;j++)if(i=j) continue;elesfor(k=0;k<=9;k++)if(k!=i&&k!=j&&i!=j)n++;printf("%d",n);}原创 2020-06-20 11:19:41 · 5188 阅读 · 1 评论 -
输出1到100之间每位数的乘积大于每位数的和的数。例如数字26,数位上数字的乘积12大于数字之和8。
#include<stdio.h>main(){int k,s,m,n;for(n=1;n<=100;n++)k=1,s=0;m=n;while(m){k=k*(m%10);/积s=s+(m%10);/和m=m/10;}if(k>s)/比较printf("%d",n)}原创 2020-06-20 11:14:06 · 15598 阅读 · 5 评论 -
计算1-3+5-7+ …… -99+101的值
#include<stdio.h>main(){int i,sum=0,k=1;for(i=1;i<=101;i=i+2){sum=sum+i*k;k=-k;printf("sum=%d",sum);}}原创 2020-06-20 11:06:50 · 8253 阅读 · 1 评论 -
能被3整除且至少有一位是5的两位数
sub(int k;int n){int a1,a2;a2=k/10;a1=k-a2*10;if((k%3==0&&a2==5)||(k%3==0&&a1=5)){printf("%d",k);n++;return n;}elsereturn(-1);}main(){int n=0,k,m;for(k=10;k<=99;k++){m=sub(k,n);if(m!=-1)n=m;}printf("\nn=%d",n);}原创 2020-06-16 20:06:59 · 2377 阅读 · 0 评论 -
杨辉三角
#define N11 yahui(inta[][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;j++) a[i][j]=a[i-1][j-1]+a[i-1][j];}原创 2020-06-16 19:53:29 · 151 阅读 · 0 评论 -
函数gongyu的作用是求整数num1和num2的最大公约数,并返回该值。
gongyu(int num1,int num2){int temp,a,b;if(num1<num2){temp=num1;num1=num2;num2=temp;}a=num1;b=num2;while(b!=0){temp=a%b;a=b;b=temp;}retuen(a);}原创 2020-06-16 19:43:08 · 2632 阅读 · 1 评论 -
用公式求s
用公式s=1-1/3+1/5-1/7+…1/(2n+1)计算s,结果通过形参指针sn传回。要求n通过形参传入:n>=0.void fun(float*sn,int n){float s=0.0,w,f=-1.0;int i=0;for(i=0;i<=n;i++){f=-1*f;w=f/(2*i+1);s+=w;}*sn=s;}原创 2020-06-16 19:32:12 · 1054 阅读 · 1 评论 -
fun函数功能是将形参x的值转换成二进制数,搜索得二进制数的每一位数放在一维数组中返回,二进制数的最低位放在下标为0的元素中,其他依次类推。
void fun(intx,intb[]){int k=0,r;do{r=x%2;b[k++]=r;x/=2;}while(x);}原创 2020-06-16 17:52:14 · 1694 阅读 · 5 评论 -
找出数组x中的最大值和该值所在的元素下标,数组元素从键盘输入。
main(){int x[10],*p1,*p2,k;for(p1=x,p2=x;p1-x<10;p1++) if(*p1>*p2) p2=p1;printf("MAX=%d,INDEX=%d\n",*p2,p2-x);}原创 2020-06-16 17:46:11 · 2587 阅读 · 1 评论 -
**指针用法
#include<stdio.h>main(){static int a[]={1,3,5,7};int *p[3]={a+2,a+1,a};int**q=p;printf("%d\n",*(p[0]+1)+**(q+2));}8原创 2020-06-16 17:38:47 · 1191 阅读 · 0 评论 -
判断输入字符串是否是“回文”
#include<stdio.h>#include<string.h>main(){char s[81],*p1,*p2;int n;gets(s);n=strlen(s);p1=s;p2=s+n-1;while(p1<p2){if(*p1!=*p2) break; else{ p1++; p2--;} }if(p1<p2) printf("NO\n");else printf("YES\n"); }原创 2020-06-16 17:26:07 · 712 阅读 · 0 评论 -
字符和数值的相互转换
char a[]="12345",*p;int s=0;for(p=a;*p!="\0";p++)s=10*s+*p-"0"; //字符转数值printf("%d\n",s);原创 2020-06-16 17:10:24 · 327 阅读 · 0 评论 -
计算str所指字符串的长度,并作为函数值返回。
int mystrlen(char*str){char *p;for(p=str;*p!="\0";p++);return(p-str);}原创 2020-06-16 17:05:56 · 1614 阅读 · 0 评论 -
平移
#include<stdio.h>main(){int i=5;char c[6]="abcd";do{ c[i]=c[i-1];//决定向哪里移动 }while(--i>0); puts(c); }原创 2020-06-14 18:21:53 · 163 阅读 · 0 评论 -
矩阵上下三角元素之积
#define M 10main(){int x[M][M];int n,i,j;long s=1;printf("Enter a integer(<=10):\n");scanf("%d",&n);printf("Enter %d data on each line for the array x\n",n);for(i=0;i<n;i++) for(j=0;j<n;j++) scanf("%d",&x[i][j]; for(原创 2020-06-14 17:58:48 · 4833 阅读 · 0 评论 -
求数组a中偶数的个数和偶数的平均值。
main(){int a[10]={1,2,3,4,5,6,7,8,9,10};int k,s,i;float avg;for(k=s=i=0;i<10;i++){ if(a[i]%2!0) continue; s+=a[i]; k++; }if(k!=0){ avg=s/k; printf("%d,%f",k,avg); } }原创 2020-06-14 17:40:06 · 5125 阅读 · 0 评论 -
输入5个整数,找出最大数和最小数所在的位置,并把两者对调 ,然后输出调整后的5个数。
mian(){int a[5],max,min,i,j,k;for(i=0;i<5;i++) scanf("%d",&a[i]); min=a[0]; for(i=1;i<5;i++) if(a[i]<min) {min=a[i]; k=i;} max=a[0]; for(i=1;i<5;i++) if(a[i]>max) {max=a[i]; j=i;}原创 2020-06-14 17:32:26 · 9474 阅读 · 3 评论 -
设数组a包括10个整型元素,求各相邻两个元素的和,并将这些和存在数组b中,按每行3个元素形式输出。
main(){int a[10],b[10],i; for(i=0;i<10;i++) scanf("%d",&a[i]); for(i=1;i<10;i++) b[i]=a[i]+a[i-1]; for(i=1;i<10;i++) { printf("%3d",b[i]); if(i%3==0) printf("\n"); } }原创 2020-06-14 17:16:26 · 5146 阅读 · 2 评论