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為假。