c语言编程问题
① c语言编程问题
#include "stdio.h"
int main()
{
char ch[5];
int i;
for(i=0;i<5;i++)
scanf("%c",&ch[i]);//输入字符
for(i=0;i<5;i++)
printf("%c ",ch[i]);//通过下标打印出数组内的内容
printf(" ");
for(i=0;i<5;i++)
printf("字符:%c ,指针:%d ",*(ch+i),ch+i);//通过指针访问打印出数组内的内容,同时打印出指针值
printf(" ");
return 0;
}
int main()
{
int a[5];
int i;
for(i=0;i<5;i++)
scanf("%d",&a[i]);
for(i=0;i<5;i++)
printf("%d ",a[i]);
printf(" ");
for(i=0;i<5;i++)
printf("数字:%d ,指针:%d ",*(a+i),a+i);
printf(" ");
return 0;
}
② C语言编程问题
#include <stdio.h>
#include <stdlib.h>
struct student {
int num;
char name[20];
float score[4];
};
void input(struct student a[], int);
void aver(struct student a[], int,struct student b[]);
void order(struct student a[], int);
void output(struct student a[], int,struct student b[]);
int main() {
struct student stu[100];
struct student b[100];
int n;
printf("请输入学生个数:");
scanf("%d", &n);
input(stu, n);
aver(stu, n,b);
order(stu, n);
output(stu, n,b);
return 0;
}
void input(struct student a[], int n) {
int i, j;
// printf("请输入学生的学号,姓名,英语,数学,物理,语文成绩: ");
for (i = 0; i < n; i++) {
printf("请输入第%d个学生的学号,姓名,英语,数学,物理,语文成绩: ", i + 1);
scanf("%d", &a[i].num);
//gets(a[i].name);
scanf("%s", &a[i].name);
for (j = 0; j < 4; j++)
scanf("%f", &a[i].score[j]);
}
}
void aver(struct student a[], int n,struct student b[]) {
int i=0, j;
for (i = 0; i < n; i++) {
b[i].score[0] = 0;
for (j = 0; j < 4; j++)
b[i].score[0] += a[i].score[j];
b[i].score[0] = b[i].score[0] / 4;
}
}
void order(struct student a[], int n) {
int i, j;
struct student t[1];
for (i = 1; i < n; i++)
for (j = 0; j < n - i; j++)
if (a[j].score[3] < a[j + 1].score[3]) {
t[1] = a[j];
a[j] = a[j + 1];
a[j + 1] = t[1];
}
}
void output(struct student a[], int n,struct student b[]) {
int i, j;
printf("学号 姓名 英语 数学 物理 语文 平均成绩如下: ");
for (i = 0; i < n; i++) {
printf("%d %s ", a[i].num, a[i].name);
for (j = 0; j < 4; j++)
printf("%.2f ", a[i].score[j]);
printf("%.2f", b[i].score[0]);
printf(" ");
}
}
帮你改了一些,看看测试:
③ C语言编程问题!
#include只在C语言机试中出现,可以不管他是干什么的。不过你勤于思考是好的。
#define
这个东西的用法
应该不难吧。就是一个置换而已
#define
Price
30
表示语句中凡是出现Price
的地方就用30代替。
④ C语言编程问题
递归方法:
#include
<stdio.h>
int
gcd(int
a,
int
b)
{
return
b
%
a
?
gcd(b
%
a,
a)
:
a;
}
int
lcm(int
a,
int
b)
{
return
a
*
b
/
gcd(a,
b);
}
int
main()
{
int
a,
b;
printf("请输入两个正整数:");
scanf("%d%d",
&a,
&b);
printf("它们的最大公约数为:%d\n",
gcd(a,
b));
printf("它们的最小公倍数为:%d\n",
lcm(a,
b));
return
0;
}
----------------------------
辗转相除法:
#include
"stdio.h"
void
main()
{
int
p,r,n,m,temp;
printf("请输入两个正整数:");
scanf("%d
%d",&n,&m);
if(n
<
m)
{
temp
=
n;
n
=
m;
m
=
temp;
}
p
=
n*m;
while(m!=0)
{
r
=
n%m;
n
=
m;
m
=
r;
}
printf("它们的最大公约数为:%d\n",n);
printf("它们的最小公倍数为:%d\n",p/n);
}
⑤ c语言编程问题
1.
if(a==b
&&
b==c)
printf("是等边三角形\n");
else
{
if(a==b||b==c||a==c)
printf("是等腰三角形\n");
两个if后的;不要
2.
if(a*a+b*b=c*c||a*a+c*c=b*b||b*b+c*c=a*a)
等于要两个‘=’
3.大括号配对有问题。
⑥ c语言编程问题
第一个没有输出值
在执行第一次do的时候已经跳出来了
{
a[0]=a[1];}
这个其实是把a[i]=a[i+1]
⑦ c语言编程问题
int dd = 0;
printf("请输入一个整数: %d", dd);
if (dd <= 14) {
printf("输出: 10");
} else if (dd > 14 && dd < 95) {
int a = dd%10;
int b = dd/10*10;
if (a >= 5) {
printf("输出: %d", b + 10);
} else {
printf("输出: %d", b);
}
} else {
printf("输出: 100");
}
逻辑大概是上面这个样子的, 但是那个输入函数怎么使用的, 忘记了。
⑧ c语言编程问题
#include<stdio.h>
int main()
{ int i,n;
double sum=0;
scanf("%d",&n);
for(i=1; i<=n; i++)
sum+=i*i*1.0/(i+1);
printf("%f ",sum);
return 0;
}
⑨ C语言编程问题
死循环,没输出
当i自增到3是,if语句条件false,就进行下一次
可是i的值没有改变,依然是三,依然false。。永远永远。。直到停电。。。
⑩ c语言编程问题
可以使用如下输出语句:
printf("%s\n",(a=7)>6&&(b=-1)>6?"真":"错误");
实际运行后输出的结果是:
错误
因为(b=-1)的值是-1,而-1>6为假。