几个关于C语言的基础求详细的过程!好的加分!
发布网友
发布时间:2022-06-21 12:18
我来回答
共5个回答
热心网友
时间:2024-11-24 21:57
第一个程序:给定4位数以内的数,逆序输出他们
int x,a,b,c,d;//定义变量
x=4831; //初始化X
a=x/1000; //取出千位数
b=x%1000/100;//取出百位数
c=x%100/10; //取出十位数
d=x%10; //取出个位数
if(a!=0)
printf("4:%d%d%d%d\n",d,c,b,a);//逆序输出四位数 1384
else if(b!=0)
printf("3:%d%d%d\n",d,c,b); //逆序输出三位数 千位数为0
else if(c!=0)
printf("2:%d%d%\n",d,c); //逆序输出两位数 千位数百位数为0
else if(d!=0)
printf("1:%d\n",d); //输出一位数 只有个位数
2. 程序二 :计算任意两个数的四则运算
float a,b; //定义变量
char optor;
printf("Input values of a,b:"); //提示输出两数
scanf("%f%f",&a,&b); //接收键盘的值
getchar(); //获取字符
printf("Enter operator:"); //提示输出运算符号
scanf("%c",&optor); //存储运算符号
switch(optor) //判断运算符号
{
case'+':printf("%f+%f=%f\n",a,b,a+b);break;
case'-':printf("%f-%f=%f\n",a,b,a-b);break;
case'*':printf("%f*%f=%f\n",a,b,a*b);break;
case'/':if(b==0)
printf("\adivided by 0!\n");
else
printf("%f/%f=%f\n",a,b,a+b);break;//判断分母为0情况
default:printf("\aInput error!");
}
//根据输入的符号调用相关的计算方式,不符合+ - * /就报错“aInput error!”
程序三:计算1-10的和
int i,n;
long int t=0;
n=10; //定义变量
for(i=1;i<=n;i++)
t=t+i; //计算1-10的和
printf("%d,%ld\n",n,t);//显示结果及循环次数
程序四:计算平均值
int i; //循环
static int x[]={9,8,7,6,5,4,3,2}; //要求平均值得数组
float average=0; //平均值
for(i=0;i<8;i++)
average+=x[i]; //数组x求和
average/=8; //数组平均值
printf("The average is:%f",average);//结果
程序五:输出初始化矩阵
static int a[2][3]={{1,2,3},{4,5,6}};//定义两组数并初始化
static int b[3][2],j,i;
printf("array a:\n");
for(i=0;i<=1;i++)
{ for(j=0;j<=2;j++)
{
printf("%5d",a[i][j]);//循环输出数组a的值
b[j][i]=a[i][j]; //这个在这里似乎是没效果的}
printf("\n");
}
程序六:实现2的幂级数
double power(float x,int n)//求幂函数
{
int i;
double pw; //声明相关变量
pw=1; //求幂结果保留变量初始化
for(i=1;i<=n;i++) //循环
return pw*=x;//return直接返回第一次循环的结果,准确的说是返回到该函数,又从新执行了循环,永远都停留在第一次的结果
}
void main()
{
int n;
float x;
double y;
x=2;n=5;
y=power(x,n);//实参传递power函数
printf("%f\n",y);
}
//由于return的原因无法得到预期的效果
//以下程序在你的程序基础上修改的 结果依次是 2 4 8 16 32
double power(float x,int n)//求幂函数
{
int i;
double pw; //声明相关变量
pw=1; //求幂结果保留变量初始化
for(i=1;i<=n;i++)
{
pw*=x; //计算x的幂
printf("%f ",pw); //得到结果
}
return 0;
}
void main()
{
int n;
float x;
double y; //相关变量声明
x=2;n=5; //要传递的参数
power(x,n);//计算幂值
}
程序七:求两个数的最大值最小值
int a,b,*pa=&a,*pb=&b,*p;//定义变量,指针
scanf("%d%d",&a,&b); //输入两个数值
if(a<b)
{
p=pa;
pa=pb;
pb=p;
} //比较后交换数据
printf("a=%d,b=%d\n",a,b); //输出a,b值
printf("max=%d,min=%d\n",*pa,*pb); //求出最大最小值
程序八:显示学生信息
struct student //学生信息结构体
{
int num; //学号
char name[10]; //姓名
char sex; //性别
int age; //年龄
float score; //分数
};
struct student stu={1001,"wang",'M',19,98};//初始化结构内容
printf("Number=%d\nName=%s\n",stu.num,stu.name);//输出学号与姓名
printf("Sex=%c\nScore=%f\n",stu.sex,stu.score);//输出性别与分数
热心网友
时间:2024-11-24 21:57
#include <stdio.h>
void main()
{
int x,a,b,c,d; 定义了五个整形变量
x=4381; 给变量x赋值
a=x/1000; 得到了千位上的数字
b=x%1000/100; 得到百位上的数字
c=x%100/10; 得到十位上的数字
d=x%10; 得到个位上的数字
以下是对各个位数是否为零的判断
if(a!=0)
printf("4:%d%d%d%d\n",d,c,b,a);
else if(b!=0)
printf("3:%d%d%d\n",d,c,b);
else if(c!=0)
printf("2:%d%d%\n",d,c);
else if(d!=0)
printf("1:%d\n",d);
}
以上代码的主要功能数对一个整形数按照个十百千的顺序输出。追问别的的呢……不止这一个啊
热心网友
时间:2024-11-24 21:58
#include "stdio.h"
double power(float x,int n)
{
int i;
double pw;
pw=1;
for(i=1;i<=n;i++)
return pw*=x;
}
void main()
{
int n;
float x;
double y;
x=2;n=5;
y=power(x,n);
printf("%f\n",y);
}
这个自己编写一个求2的5次方的函数。并调用函数
#include <stdio.h>
void main()
{
int a,b,*pa=&a,*pb=&b,*p;
scanf("%d%d",&a,&b);
if(a<b)
{p=pa;
pa=pb;
pb=p;
}
printf("a=%d,b=%d\n",a,b);
printf("max=%d,min=%d\n",*pa,*pb);
}这个是比较2个数的大小 通过指针地址交换输出2个数,
#include <stdio.h>
void main()
{
struct student
{
int num;
char name[10];
char sex;
int age;
float score;
}stu={1001,"wang",'M',19,98};
printf("Number=%d\nName=%s\n",stu.name);
printf("Sex=%c\nScore=%f\n",stu.sex,stu.score);
}
结构体输出学好。姓名,性别,年龄,分数
热心网友
时间:2024-11-24 21:58
#include <stdio.h>
void main()
{
int x,a,b,c,d;
x=4381;
a=x/1000;
b=x%1000/100;
c=x%100/10;
d=x%10;
if(a!=0)
printf("4:%d%d%d%d\n",d,c,b,a);
else if(b!=0)
printf("3:%d%d%d\n",d,c,b);
else if(c!=0)
printf("2:%d%d%\n",d,c);
else if(d!=0)
printf("1:%d\n",d);
}
第一部分楼上说的对
#include <stdio.h>
void main()
{
float a,b;
char optor;
printf("Input values of a,b:");
scanf("%f%f",&a,&b);
getchar();
printf("Enter operator:");
scanf("%c",&optor);
switch(optor)
{
case'+':printf("%f+%f=%f\n",a,b,a+b);break;
case'-':printf("%f-%f=%f\n",a,b,a-b);break;
case'*':printf("%f*%f=%f\n",a,b,a*b);break;
case'/':if(b==0)
printf("\adivided by 0!\n");
else
printf("%f/%f=%f\n",a,b,a+b);break;
default:printf("\aInput error!");
}
}
我帮你分析第二部分吧,就是输入ab的值,然后做+-*/之类的运算,显示。当然0不能为分母。
#include <stdio.h>
void main()
{
int i,n;
long int t=0;
n=10;
for(i=1;i<=n;i++)
t=t+i;
printf("%d,%ld\n",n,t);
}
#include <stdio.h>
void main()
{
int i;
static int x[]={9,8,7,6,5,4,3,2};
float average=0;
for(i=0;i<8;i++)
average+=x[i];
average/=8;
printf("The average is:%f",average);
}
3部分是从1累加到10 然后输结果
#include <stdio.h>
void main()
{
int i;
static int x[]={9,8,7,6,5,4,3,2};
float average=0;
for(i=0;i<8;i++)
average+=x[i];
average/=8;
printf("The average is:%f",average);
}
4部分是把X所有值相加求平均值
#include <stdio.h>
void main()
{
static int a[2][3]={{1,2,3},{4,5,6}};
static int b[3][2],j,i;
printf("array a:\n");
for(i=0;i<=1;i++)
{ for(j=0;j<=2;j++)
{
printf("%5d",a[i][j]);
b[j][i]=a[i][j];
}
printf("\n");
}
}
矩阵B等于A的转置
后面你自己分析吧。。。别总是问别人,自己也学习下追问我就是才刚开始学好不好!
追答你不要把别人的回答当做理所应当的事情!
热心网友
时间:2024-11-24 21:59
我的qq1042980944,加我,我会为你一一解答!