//输入一个字符串,计算从M的位置输出字符串,
//例如字符串 abcdDF 输入M的值为2 则输出DFabc
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
void change(char *str,int n)
{
char *p=str;
int len=strlen(str)-1;
int count=len-n+1;
if(len<n)
{
printf("输入的位置超出了字符串的长度!\n");
exit(0);
}
else
{
char str2[50];
int i,j;
for(i=count;i<=len;++i)
str2[i-count]=p[i];
str2[n]='\0';
for(j=n;j<=len;++j)
str2[j]=p[j-n];
str2[len+1]='\0';
printf("%s\n",str2);
}
}
main()
{
char str[50];
int num;
printf("输入字符串:\n");
gets(str);
printf("输入要移位的最后m个字符 :\n");
scanf("%d",&num);
change(str,num);
}
输入一个四位数的整数,先求出每个位数上的数值,然后用每个位数上的数值组成和原数据逆序的一个新的整数。
代码:
#include <stdio.h>
#include <math.h>
main()
{
int num,num1;
int a,b,c,d;
scanf("%d",&num);
a=num%10;
b=num/10%10;
c=num/100%10;
d=num/1000%10;
printf("\t%d\t%d\t%d\t%d\t\n",a,b,c,d);
num1=a*1000+b*100+c*10+d;
printf("\t%d\t%d\n",num,num1);
}
2、输入一个矩形的长和宽,求出周长及面积,并将结果小数点后保留2位输出。
代码; #include <stdio.h>
#include <math.h>
main()
{
float a,b,c,d;
scanf("%f%f",&a,&b);
c=(a+b)*2;
d=a*b;
printf("\t周长%.2f\t面积%.2f\n",c,d);
}
从键盘输入一个4*3整型数组赋值,找出其中的最小值,并将该值和其行号与列号输出出来。
代码:
#include <stdio.h>
main()
{
int a[3][4],i,j,min;
for(i=0;i<3;i++)
for(j=0;j<4;j++)
scanf("%d",&a[i][j]);
for(i=0;i<3;i++)
{
for(j=0;j<4;j++)
printf("%d\t",a[i][j]);
printf("\n");
}
min=a[0][0];
for(i=0;i<3;i++)
{
for(j=0;j<4;j++)
if(a[i][j]<min)
min=a[i][j];
}
for(i=0;i<3;i++)
for(j=0;j<4;j++)
if(a[i][j]==min)
printf("最小值%d\t行号%d\t列标%d",min,i+1,j+1);
}
定义一个结构体,对学生的学号、姓名和计算机成绩进行存储,并输入5名学生的信息,并按成绩升序进行排列,输出排序后的学号、成绩和平均分。(使用结构体数组;排序)
#include <stdio.h>
#include <stdlib.h>
#define STU_NUM 5 /*宏定义学生的数量*/
/*定义一个结构体用来存放学生学号、三门课成绩、总分及平均成绩*/
struct student
{
char stu_id[20]; /*学生学号;*/
float score[3]; /*三门课成绩;*/
float total; /*总成绩;*/
float aver; /*平均成绩;*/
};
/*排序用一个函数来实现*/
void SortScore(student *stu,int n)
{
student stud;
for(int i=0;i<n-1;i++)
for(int j=i+1;j<n;j++)
{
if(stu[i].total<stu[j].total)
{
stud=stu[i];
stu[i]=stu[j];
stu[j]=stud;
}
}
}
int main( )
{
student stu[STU_NUM]; /*创建结构体数组,分别用来保存相关信息。*/
/*输入学生的相关信息*/
for(int i=0;i<STU_NUM;i++)
{
printf("请输入第%d个学生的学号:",i+1);
scanf("%s",&stu[i].stu_id);
printf("输入第%d个学生的数学成绩:",i+1);
scanf("%f",&stu[i].score[0]);
printf("输入第%d个学生的英语成绩:",i+1);
scanf("%f",&stu[i].score[1]);
printf("输入第%d个学生的计算机成绩:",i+1);
scanf("%f",&stu[i].score[2]);
stu[i].total = stu[i].score[0]+stu[i].score[1]+stu[i].score[2]; /*计算机总分*/
stu[i].aver = stu[i].total/3; /*计算平均分*/
}
printf("\n");
SortScore(stu,STU_NUM);/*调用排序函数*/
/*输出排序后的各学生的成绩*/
for(int i=0;i<STU_NUM;i++)
{
printf("序号: %d\t",i);
printf("学号:%s\t",stu[i].stu_id);
printf("数学:%.2f\t",stu[i].score[0]);
printf("英语:%.2f\t",stu[i].score[1]);
printf("计算机:%.2f\t",stu[i].score[2]);
printf("平均成绩:%.2f\t",stu[i].aver);
printf("总分:%.2f\t",stu[i].total);
printf("\n\n");
}
return 0;
}
完成小型计算器
#include <stdio.h>
main()
{ int i,a[100],s=0,n,t=0;
do
{ scanf("%d",&n);
if(n!=0)t++;
}while(n!=0);
for(i=0;i<t;i++)
scanf("%d",&a[i]);
for(i=0;i<n;i++)
{ s=s+a[i];
}
printf("%d",s);
}
lhz
good
用户 Windows10 2022 天前 回复