求出数组a中最小数将最小数和a【0】的数对调后输出最后族中的顺序
int main()
{
int a[10]={10,9,8,7,4,5,6,1,2,3},i,j,min;
min=a[0];
for(i=0;i<10;i++){
if(min>a[i]){
min=a[i];
j=i;
}else continue;
}
a[j]=a[0];
a[0]=min;
for(i=0;i<10;i++){
printf("%d\t",a[i]);
}
return 0;
}
输入正数m和n,如果m+n是素数,输出yes,否则输出no,要求定义并调用myfun(x),来判断素数
#include<stdio.h>
myfun(x){
int i,j;
for(i=2;i<x;i++)
if(x%i==0)break;
if(x==i)return 1;
else return 0;
}
main(){
int i,j,k;
printf("请输入第1个数:");
scanf("%d",&i);
printf("请输入第2个数:");
scanf("%d",&j);
k=i+j;
if(myfun(k)==1)
printf("yes");
else printf("no");
}
学校入学考试科目为数学课和两门专业课,对于每个考生信息有学号姓名;现有10个学生,输入各科成绩,并记入总分
#include<stdio.h>
struct S{
int xuehao;
int shuxue;
int zhuanyeke1;
int zhuanyeke2;
int zongfen;
char xingming[10];
};
main(){
struct S data[10];
int i,j=1;
for(i=0;i<10;i++){
data[i].xuehao=j++;
scanf("%s",data[i].xingming);
printf("请输入数学成绩");
scanf("%d",&data[i].shuxue);
printf("请输入专业课1成绩");
scanf("%d",&data[i].zhuanyeke1);
printf("请输入专业课2成绩");
scanf("%d",&data[i].zhuanyeke2);
data[i].zongfen=data[i].shuxue+data[i].zhuanyeke1+data[i].zhuanyeke2;
printf("总分:%d\n",data[i].zongfen);
}
for(i=0;i<10;i++){
printf("学号:%d\t姓名:%s\t数学:%d\t专业课1:%d\t专业课2:%d\t总分:%d\n",data[i].xuehao,data[i].xingming,data[i].shuxue,data[i].zhuanyeke1,data[i].zhuanyeke2,data[i].zongfen);
}
}
有一对兔子,从出生后的第三个月起每月生一对兔子,小腿子长到三个月后每月又生一对兔子,假如兔子不死,问每月兔子总数有多少
//关于斐波那契数列的兔子繁殖问题
#include<stdio.h>
fun(int k){
int x=0;
if(k<3) x=1;
else x=fun(k-1)+fun(k-2);
return x;
}
int main()
{
int i,j,n;
scanf("%d",&n);
printf("第%d月总共有%d只兔子",n,2*fun(n));
}
将一个正整数分解成质因数。例如输入90打印90=2*3*3*5
#include<stdio.h>
main(){
int x,i,z;
printf("请输入一个正整数");
scanf("%d",&x);
printf("%d=",x);
for(i=2;i<x;i++){
while (x!=i){
if(x%i==0){
printf("%d*",i);
x=x/i;
}else break;
}
}
printf("%d",x);
}
编写函数,功能删除字符串中的所有数字字符
#include<stdio.h>
main(){
int i,j,k=0;
char s[]="qwe123asd51cv5b6g8f",ch[20];
j=strlen(s);
for(i=0;i<j;i++){
if('0'<s[i]&&s[i]<'9'){
continue;
}else ch[k++]=s[i];
}
for(i=0;i<=k;i++){
printf("%c",ch[i]);
}
}
输入一行字符串,统计英文字母,数字,空格和其他字符的个数
#include <stdio.h>
#include <string.h>
int main(){
char x[100];
int i,n,a=0,b=0,c=0,d=0;
printf("请输入一行字符串:\n");
gets(x);
n=strlen(x);
for(i=0;i<n;i++){
if(x[i]>='0' && x[i]<='9') a++;
else if (x[i]>='a'&& x[i]<='z') b++;
else if (x[i]>='A'&& x[i]<='Z') b++;
else if(x[i]==' ') c++;
else d++;
}
printf("英文字母:%d个\n数字%d个\n空格%d个\n其他字符%d个",b,a,c,d);
}
某公司采用公用电话传送数据,数据是四位整数,在传递过程是加密的,加密规则如下:每位数字都加上五,然后用和除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换,编程输入原密码,输出加密后的密码
#include<stdio.h>
int main(){
int i,j,k,aa,a[4],b[4];
printf("请输入原密码");
scanf("%d",&aa);
a[0]=aa/1000;
a[1]=aa%1000/100;
a[2]=aa%100/10;
a[3]=aa%10;
for(i=0;i<4;i++){
b[i]=(a[i]+5)%10;
}
j=b[0];
b[0]=b[3];
b[3]=j;
k=b[1];
b[1]=b[2];
b[2]=k;
for(i=0;i<4;i++){
printf("%d",b[i]);
}
}
十个学生,每个学生的数据有学号、姓名、三门课成绩及平均分;首先输入这十个学生数据,然后计算每个学生三门课程平均分,并输出第七号学生所有信息
#include<stdio.h>
struct student
{
int xuehao;
char name[10];
int chinese;
int math;
int english;
float pingjunfen;
};
main(){
struct student data[10];
int i,j=1;
for(i=0;i<10;i++){
data[i].xuehao=j++;
printf("请输入学号%d学生的姓名:",i+1);
scanf("%s",&data[i].name);
printf("请输入学号%d的学生语文成绩",i+1);
scanf("%d",&data[i].chinese);
printf("请输入学号%d的学生数学成绩",i+1);
scanf("%d",&data[i].math);
printf("请输入学号%d的学生英语成绩",i+1);
scanf("%d",&data[i].english);
data[i].pingjunfen=(data[i].chinese+data[i].math+data[i].english)/3.0;
// printf("平均分:%d",data[i].pingjunfen);
}
for(i=0;i<10;i++){
printf("学号:%d\t 姓名:%s\t 平均分:%f\n",data[i].xuehao,data[i].name,data[i].pingjunfen);
}
i=6;
printf("学号:%d\t 姓名:%s\t 语文:%d\t 数学:%d\t 英语:%d\t 平均分:%f\n",data[i].xuehao,data[i].name,data[i].chinese,data[i].math,data[i].english,data[i].pingjunfen);
}
已知a、b、c都是一位整数,求当abc,cba的和为133时a、b、c的值
#include <stdio.h>
main(){
int a,b,c,abc,cba,i,j,k;
for(i=0;i<10;i++){
a=i;
for(j=0;j<10;j++){
b=j;
for(k=0;k<10;k++){
c=k;
abc=a*100+b*10+c;
cba=c*100+b*10+a;
if(abc+cba==1333){
printf("a=%d\tb=%d\tc=%d\n",a,b,c);
}else continue;
}
}
}
}
编写程序,将键盘输入的十个整数按升序排列输出
#include <stdio.h>
main(){
int i,j,k,a[10];
printf("请输入十个整数\n");
for(i=0;i<10;i++){
printf("请输入第%d个整数",i+1);
scanf("%d",&a[i]);
}
for(i=0;i<10;i++){
for(j=i+1;j<10;j++){
if(a[i]>a[j]){
k=a[i];
a[i]=a[j];
a[j]=k;
}
}
printf("%d\t",a[i]);
}
}
编写程序将用户输入的所有字符串用*代替输出
#include <stdio.h>
#include<string.h>
main(){
int i,j,n,k,x;
char a[100];
gets(a);
n=strlen(a);
for(i=0;i<n;i++){
if(a[i]=='a'){
a[i]='*';
}
printf("%c",a[i]);
}
}
把下列公式以编程呈现
$\begin{cases}-e^{2x+1}+3,(x\le-2)\2x-4,(-2<x\le3)\2log_{10}(3x+5)-11,(x>3)\end{cases}$
要求:double f(double x)根据x计算返回值,main函数输入x,输出调用f(x)函数,计算结果保留两位小数,.double exp(double x)返回ex,double log10(double x)用于以10为底数x的对数值,两个数来源于math.h
#include <math.h>
#include <stdio.h>
double f(double x);
double f(double x)
{
if (x <= -2)
return -1 * exp(2 * x + 1) + 3;
else if (x > -2 && x <= 3)
return 2 * x - 1;
else
return 2*log10(3 * x + 5) - 11;
}
main()
{
double x, n;
scanf("%lf", &x);
printf("%.2f", f(x));
}
计算下面公式。 T=1/11+1!/2!+1/3!+……+1/n!,当n=5时的结果。(注:所有变量用float数据类型定义!)结果是:1.717
#include <stdio.h>
main(){
// int i,j;
float m,s,t=0.00,i,j;
for(i=1;i<=5;i++){
s=1.00;
for(j=1;j<=i;j++){
s/=j;
}
t=t+s;
}
printf("%.3f",t);
}
记录描述一个学生的成绩情况,内容包括:姓名、学号、数学成绩和C语言成绩。要求对一个小组的10个学生的成绩进行处理。
(1)计算学生的平均分,并按平均分高低排出名次,打印信息;
(2)打印出平均分90以上和不及格学生信息;
#include <stdio.h>
struct stu
{
char name[10];
int xuehao;
float math;
float cyy;
float pingjun;
};
int main()
{
struct stu s[10];
int i, j;
float k;
// 录入十名学生的成绩
for (i = 0; i < 10; i++)
{
printf("请输入学号为%d学生姓名", i + 1);
scanf("%s", &s[i].name);
printf("请输入学号为%d学生数学成绩", i + 1);
scanf("%f", &s[i].math);
printf("请输入学号为%d学生C语言成绩", i + 1);
scanf("%f", &s[i].cyy);
s[i].pingjun = (s[i].math + s[i].cyy) / 2.00;
s[i].xuehao = i + 1;
}
// 结构体排序:根据平均成绩从高到低排序
struct stu temp;
for (i = 0; i < 10; i++)
{
for (j = i + 1; j < 10; j++)
{
if (s[i].pingjun < s[j].pingjun)
{
temp = s[i];
s[i] = s[j];
s[j] = temp;
}
}
}
// 按平均分从高到低的名次打印学生信息
for (i = 0; i < 10; i++)
{
printf("姓名:%s\t学号:%d\t数学成绩:%.2f\tC语言成绩:%.2f\t平均分:%.2f\n", s[i].name, s[i].xuehao, s[i].math, s[i].cyy, s[i].pingjun);
}
// 打印平均成绩大于90的学生信息
printf("平均成绩大于90的学生有\n");
for (i = 0; i < 10; i++)
{
if (s[i].pingjun > 90)
printf("姓名:%s\t学号:%d\t数学成绩:%.2f\tC语言成绩:%.2f\t平均分:%.2f\n", s[i].name, s[i].xuehao, s[i].math, s[i].cyy, s[i].pingjun);
}
// 打印平均成绩小于60的学生
printf("平均成绩小于60的学生有\n");
for (i = 0; i < 10; i++)
{
if (s[i].pingjun < 60 && s[i].pingjun > 0)
printf("姓名:%s\t学号:%d\t数学成绩:%.2f\tC语言成绩:%.2f\t平均分:%.2f\n", s[i].name, s[i].xuehao, s[i].math, s[i].cyy, s[i].pingjun);
}
}
为鼓励居民节约用水,自来水公司采用阶梯计费,居民应交消费y(元)与月用水量x(吨)相关,当x不超15时y=4x/3;当超过后y=2.5x-17; 请编写水费计算;
#include <stdio.h>
main()
{
float x, y;
printf("请输入用水量x(吨)");
scanf("%f", &x);
if (x <= 15 && x > 0)
y = 4 * x / 3.00;
else
y = 2.5 * x - 17.00;
printf("水费为%.2f元", y);
}
打印3到1100之间所有素数
#include <stdio.h>
main()
{
int i, j, k;
for (i = 3; i <= 1100; i++)
{
for (j = 2; j < i; j++){
if (i % j == 0)
break;}
if (i == j)
printf("%d\t", i);
}
}
假定输入的字符串只包括字母和#,请编写程序,功能是:将字符串前导#全部移动到字符串尾部,例输入的时”###abc#b”移动后输出的是”abc#b###”
#include "stdio.h"
#include <string.h>
main()
{
int i, n=0, x=0, y=0;
char c[100] = {"###abcd#b##"}, b[100];
// gets(c);
n = strlen(c);
for (i = 0; i < n; i++)
{
if (c[i] == '#')
x++;
else
break;
}
for (i = x; i < n; i++){
b[y++] = c[i];
}
for (i = 0; i < x; i++)
{
b[y++] = '#';
}
// puts(c);
puts(b);
// printf("n=%d\tx=%d\ty=%d", n, x, y);
}
#include "stdio.h"
#include <string.h>
main()
{
char a[] = "###abcd#b#", b[100];
int i = 0, j = 0, t = 0;
while (a[i])
{
if (a[i] == '#')
{
t++;
}
else
{
break;
}
i++;
}
for (i = t; i < strlen(a); i++)
{
b[j++] = a[i];
}
for (i = 0; i < t; i++)
{
b[j++] = '#';
}
b[j] = '\0';
printf("%s", b);
}
编写程序计算Π的近似值要求累加某项小于(1e-6)
$\frac{Π}{2}=1+\frac{1}{3}+\frac{1×2}{3×5}+\frac{1×2×3}{3×5×7}+\frac{1×2×3×4}{3×5×7×9}…+\frac{1×2×3×…×n}{3×5×7×9…(2n-1)}$
#include <stdio.h>
#include <math.h>
void main()
{
float i, j, n = 1, m = 1, s = 1;
for (i = 1; fabs(n / m) >= 1e-6; i++)
{
n = 1;
m = 1;
for (j = 1; j <= i; j++)
{
n *= (j * 1.00);
m *= (j * 2 + 1);
}
s += (n / m);
}
printf("%f", s * 2);
}
输入整数n,求1!+2!+3!+4!…+n!的和(用静态变量实现)
#include <stdio.h>
main()
{
int n, m = 0, i;
scanf("%d", &n);
for (i = 1; i <= n; i++)
{
m += fun(i);
}
printf("%d", m);
}
int fun(int n)
{
static s = 1;
return s = s * n;
}
编写一个程序求n的k次方(使用递归实现)
#include <stdio.h>
int fun(int n, int k);
main()
{
int k, n, s;
printf("请输入底数n和制数k");
scanf("%d,%d", &n, &k);
s = fun(n, k);
printf("%d", s);
}
int fun(int n, int k)
{
if (k == 0)
return 1;
// if(k==1) return n;
// else if(k==2) return n*n;
else
return n * fun(n, k - 1);
}
统计整型变量m中个数字出现次数,并存放到数组a中其中a[0]存放0 出现的次数,a[1]存放1出现的次数……
#include <stdio.h>
main()
{
long m, a[10], x, i;
scanf("%d",&m);
// m = 14579233;
for(i=0;i<10;i++){
a[i]=0;
}
while (m > 0)
{
x = m % 10;
a[x]++;
m = m / 10;
}
for (i = 0; i < 10; i++)
{
printf("a[%d]=%d\n", i, a[i]);
}
}
求所有4位数中原数的九倍与其逆序相等的数
#include <stdio.h>
main()
{
long a, b, c, d, n, m;
for (a = 0; a < 10; a++)
{
for (b = 0; b < 10; b++)
{
for (c = 0; c < 10; c++)
{
for (d = 0; d < 10; d++)
{
n = a * 1000 + b * 100 + c * 10 + d;
if (n >= 1000)
{
m = d * 1000 + c * 100 + b * 10 + a;
if (n * 9 == m)
{
printf("%d", n);
}
}
}
}
}
}
}
#include <stdio.h>
main()
{
int i, t, g, s, b, q;
for (i = 1000; i < 10000; i++)
{
t = i * 9;
g = i % 10;
s = i / 10 % 10;
b = i / 100 % 10;
q = i / 1000;
if (t == g * 1000 + s * 100 + b * 10 + q)
{
printf("%d\t", i);
}
}
}
根据年月日,计算该日是这一年的第几天,并作为函数返回,其中需要定义函数isleep用来判定是否为闰年
例:输入2008 5 1,则输出2008年5月1日是该年的第122天
#include <stdio.h>
isleap(int x)
{
if (x % 4 == 0 && x % 100 != 0 || x % 400 == 0)
return 29;
else
return 28;
}
main()
{
int a, b, c, x, i;
int n[12] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 31, 30};
printf("请输入年:");
scanf("%d", &a);
printf("请输入月:");
scanf("%d", &b);
printf("请输入日:");
scanf("%d", &c);
n[1] = isleap(a);
for (i = 0; i < b - 1; i++)
{
x = x + n[i];
}
x = x + c;
printf("%d年%d月%d日是该年的第%d天", a, b, c, x);
}
#include <stdio.h>
isleap(int x)
{
if (x % 4 == 0 && x % 100 != 0 || x % 400 == 0)
return 1;
else
return 0;
}
int main()
{
int year, month, day;
int dayth = 0;
scanf("%d%d%d", &year, &month, &day);
if (year < 1 || (month < 1 || month > 12) || day < 1 || day > 31)
return -1;
int daynum[12] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
if (isleap(year) == 1)
{
daynum[1] = 29;
}
for (int i = 0; i < month - 1; ++i)
{
dayth += daynum[i];
}
dayth += day;
printf("这是该年的第%d天", dayth);
return 0;
}
GitHub Discussions