當前位置:首頁 » 編程語言 » 在線c語言
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

在線c語言

發布時間: 2022-02-24 02:18:32

c語言代碼(在線)

這個程序我見過!地址如下。
程序是沒有任何問題的。do..while只是為了提高程序的判斷驗錯能力。給你解釋一下:
void insert()
{
int i=n,j,g; //這里n是全局變數,它記錄了總學生數
printf("input number:\n"); //這里是提示要插入(增加的人數),比如要增加10個學生,輸入10,只增加1個學生就輸入1,這個概念要清楚
scanf("%d",&m);
do
{ g=1;
while(g)
{ g=0;
printf("iuput %dth telephone:\n",i+1); //提示輸入,提示你輸入第n+1個學生的數據
scanf("%s",phon[i].tel);
for(j=0;j<i;j++)
if(strcmp(phon[i].tel,phon[j].tel)==0) //對字元串不能直接比較故用字元串比較函數strcmp()判斷
{ printf("that have ,please input again!\n"); //相等則說明輸入重復,有重復立即退出該層循環並要求重新輸入
g=1;
break; //如有重復立即退出該層循環
}
}
printf("input %dth name:\n",i+1);
scanf("%s",phon[i].name);
printf("input %dth address:\n",i+1);
scanf("%s",phon[i].add);
printf("input %dth telephone:\n",i+1);
scanf("%s",phon[i].tel);
printf("input %dth E-mail:\n",i+1);
scanf("%s",phon[i].mail);
if(g==0) //如果g==0,說明輸入正確(也就是無重復),那麼i加1表示實際人數加1
{ i=i; //這句去掉,多餘無用
i++;
}
}while(i<n+m); //當輸入的總人數小於m時繼續輸入
n+=m; //輸入完成後總學生數為n+m,把這個數字保存到全局變數中供排序函數等其他函數調用
printf("complate.\n\n");
}
再說明一點,這里新增加的學生,或者是改動學生的數據都只是保存在內存中,並沒有真正寫入到硬碟的文件tonxunlu.dat中,所以要把結果保存到文件中,退出程序時必須調用功能模塊save()函數將內存中的有關數據(包括增加和改動後的)全部寫入到文件tonxunlu.dat中。這一點源程序已經說明得很清楚。
當然如果你不想在退出前執行save()函數模塊,可以在insert()函數中的最下面調用該save()函數也可以,也就是:
void insert()
{
......
n+=m;
save();//這里
printf("complete.\n\n");//此單詞寫錯
}

❷ c語言在線翻譯器

這個是大數加法的程序了,
1 先進行分割,
2 然後將對應的字元數字保存為數字逆序放到數組里,
3 在做加法,進位的時候後面以為加,低位和減去10為低位,
4 逆序輸出結果

❸ C語言編程 在線等

#include<stdio.h>
#include<string.h>
#include<stdlib.h>

#defineN100

structscore
{
floatmath;
floatenglish;
floatcomputer;
};

structstudent
{
intnumber;
charname[20];
structscoresco;
floataverage;
};

structstudentstu[N];

floatinput_score(int);//計算學生平均成績
voidprint_student2(void);//顯示表頭
voidprint_student3(int);//顯示學生信息
voidprint_student1(int);//顯示全部學生資料
voidprint_student1(inta)//顯示全部學生資料
{
printf("本班所有學生具體信息如下 ");
print_student2();
for(inti=0;i<a;i++)
{
print_student3(i);
}
}

voidprint_student3(inta)//顯示學生信息
{
printf("%8d%12s%14.2f%14.2f%14.2f%14.2f ",stu[a].number,stu[a].name,stu[a].sco.math,stu[a].sco.english,stu[a].sco.computer,stu[a].average);
}

voidprint_student2(void)//顯示表頭
{
printf("學號姓名數學成績英語成績計算機成績平均成績 ");
}

voidinput_student1(inta)//輸入學生信息
{
printf("學號:");
scanf("%d",&stu[a].number);
getchar();
printf("姓名:");
gets(stu[a].name);
printf("數學成績:");
scanf("%f",&stu[a].sco.math);
printf("英語成績:");
scanf("%f",&stu[a].sco.english);
printf("計算機成績:");
scanf("%f",&stu[a].sco.computer);
}

floatinput_score(inta)//計算學生平均成績
{
return(stu[a].sco.math+stu[a].sco.english+stu[a].sco.computer)/3;
}

//voidmain()
intmain()
//最好是intmain
{
structstudentstu[N];
input_score(student);
print_student2(student);
print_student3(student);
print_student1(student);
print_student1(student);
return0;
//加上返回值
}

❹ 求在線C語言編程

//從鍵盤上輸入三個整數.由小到大的順序輸出;
#include<stdio.h>
#include<stdlib.h> //這里我採用了快速排序這一函數,需要在開頭聲明的庫函數;
int compare (const void *elem1,const void *elem2) //引入比較函數
{
int *p1,*p2;
p1=(int *)elem1; //強制類型轉換;
p2=(int *)elem2; //強制類型轉換;
return (* p1)-(* p2); //這個函數返回值的特點:如果返回值是負數,則p1排在p2前面;
}
main()
{
int i;
int a[4];
for (i=0;i<3;i++)
scanf ("%d",&a[i]);
qsort (a,3,sizeof(int),compare);
for (i=0;i<3;i++)
printf("%d ",a[i]);
getchar(); //在Dev-C++中,為了看最後結果;
getchar();
}
//其實這個快速排序,可以很方便的一次性快排許多整數,非常cool!!
//列印出100~999之間的所有水仙花數
#include<stdio.h>
main()
{
int i,j,k,l; //j表示i的百位;k表示i的十位;l表示i的個位;
for (i=100;i<=999;i++)
{
j=i/100; //利用int類型自動保留整數,捨去小數的特點;
k=(i-100*j)/10;
l=i-j*100-k*10;
if (i==j*j*j+k*k*k+l*l*l)
printf ("%d\n",i);
}
getchar();
getchar();
}
//利用循環解構輸出9.9乘法表
#include<stdio.h>
main()
{
int i,j;
for (i=1;i<=9;i++)
{
for (j=1;j<=i;j++)
{
printf ("%d*%d=%2d ",j,i,j*i);
}
printf ("\n");
}
getchar();
getchar();
}
//希望對你有幫助 ~~~

❺ c語言在線等

//
//CreatedbyBroderickon2018-04-08.
//

#include"stdio.h"
#include"Math.h"

voidswap(double*p,double*q){
*p=*p+*q-(*q=*p);
}

//ax^2+bx+c=0
double*OneQuadraticEquation(doublea,doubleb,doublec,doubleresult[2]){
result[0]=((-1*b)+sqrt(pow(b,2)-4*a*c))/(2*a);
result[1]=((-1*b)-sqrt(pow(b,2)-4*a*c))/(2*a);
printf("x1=%.2d,x2=%.2d",result[1],result[2]);
if(result[0]>result[1]){
swap(result,result+1);
}
returnresult;
}

intmain(){
doublea,b,c,result[2];
printf("請用逗號分隔並輸入a,b,c ");
scanf("%d%d%d",a,b,c);
OneQuadraticEquation(a,b,c,result);
return0;
}

❻ c語言在線編譯

#include<stdio.h>//頭文件補上
int max(int x,int y)//定義聲明函數
{
int z;
z=(x>y)?x:y;
return(z);
}
int main()
{
int a,b,c;
scanf("%d,%d",&a,&b);
c=max(a,b);//函數調用
printf("%d",c);
return 0;
}

❼ c語言在線高手

你的問題是書不一樣,然後不同分配的借法種數是吧。
如果是的話本題應該用分步來算,先有A來借,他從5本書中借去一本,接著B從剩下的4本中借去一本,最後C從剩下的3本中再借去一本,所以總共不同借法就有5*4*3種。
#include"stdio.h"
main()
{
int i,n,s=1;
scanf("%d",&n); /*輸入一個數n表示小明有n本書*/
for(i=0;i<3;i++) /*i表示A,B,C三個小朋友,i=0表示A可以借書的機會,i=1表示B可以借A借過後剩下的書,C則再剩下*/
{s*=n;
n--;
}
printf("%d\n",s);


不敢保證一定正確,但希望對你有幫助

❽ c語言在線翻譯

/包涵頭文件stdio.h
void main//返回空值的main函數
{
float a,b,c,x;//定義浮點類型a,b,c,x
x=0;//給x賦初值0

printf("a=");//在屏幕上輸出 a=
scanf("%f",&a);//從鍵盤上獲取一個浮點數賦給a
printf("b=");//在屏幕上輸出 a=
scanf("%f",&b);//從鍵盤上獲取一個浮點數賦給b
printf("c=");//在屏幕上輸出 a=
scanf("%f",&f);//從鍵盤上獲取一個浮點數賦給f
/*這句是不是有問題?應該是scanf("%f",&c);吧?*/

x=a/(b-c);//將a/(b-c)的值賦給x

if((b-c)!=0)//假如(b-c)不等於0
print("%.2f=a/(b-c)\n",x);//在屏幕上輸出(x的值,保留兩位小數)=a/(b-c)(一個回車符)
else//否則
{
printf("\nError!\n");//在屏幕上輸出(一個回車符)Error!(一個回車符)
}
}

❾ C語言,在線等。

1#include <stdio.h>
void main()
{
char a,c;
int b[26]={0},i;
while((a=getchar())!='\n')
{
c=a;
if (c>='A'&&c<='Z')
{
++b[c-'A'];
}

}
for (c='A',i=0;i!=26;++i,++c)
{
printf("有大寫字母%c,%d個\n",c,b[i]);
}
}
2、#include <stdio.h>
void main()
{
char s[80],ch[80];
gets(s);//取首地址即可
int i,j,m;
scanf("%d",&m);//漏了取地址符號
for(i=0,j=0;i<=m;i++,j++)
ch[j]=s[i];
for(i=i-m;s[i-m]!='\0';i++)
s[i]=s[i-m];
for(i=m,j=0;s[i]!='\0';i++,j++)
s[i]=ch[j];
s[i]='\0';
puts(s);
}

❿ 有什麼好的C語言在線編程網站嗎

南洋理工學院的OJ系統還是不錯的,希望對你有幫助,望採納