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

c語言程序設計貼吧

發布時間: 2022-07-01 23:56:47

c語言編程問題,救救孩子吧

#include<stdio.h>typedef struct {int y,m,d;}Date;int mon[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};int checkDate(Date date){mon[2]=28+(date.y%4==0&&date.y%100||date.y%400==0); return date.y>0&&date.m>0&&date.d>0&&date.m<13&&date.d<=mon[date.m];}int main(){ Date date; scanf("%d%*c%d%*c%d",&date.y,&date.m,&date.d); printf("%s",(checkDate(date)?"OK":"Error")); return 0;}

Ⅱ 免費學習C語言的網站

買一本書
名字叫
C語言程序設計第三版
潭浩強的
網站嘛網路的C語言貼吧就可以
另外在到http://www.upol.cn/new/csmedia/download.asp?kemu=076&page=0
這個是石油大學的C語言個人覺得不錯
內容就是C語言程序設計第三版的

Ⅲ C語言程序設計(會的學長學姐幫幫忙吧!!!)

源碼在下面,自己看看吧。應該都很好懂,看不懂的地方再問吧。

#include <stdio.h>

char str[81];

int menudisplay();
void item();
void find();
void deletechar();
void encode();
void display();

void main()
{
int quit;
printf("請輸入一串字元串:\n");
scanf("%s",str);
while(1)
{
if(quit=menudisplay()) break;
}
}

int menudisplay()
{
int n;
printf("請選擇下面的一個項目:\n1 分類統計字元\n2 查找\n3 刪除\n4 加密\n5 顯示\n6 退出\n");
scanf("%d",&n);
if(!(n>=1 && n<=6)) menudisplay();
switch (n)
{
case 1:
item();
break;
case 2:
find();
break;
case 3:
deletechar();
break;
case 4:
encode();
break;
case 5:
display();
break;
case 6:
return 1;
}
return 0;
}

void item()
{
int i,n1=0,n2=0,n3=0,n4=0;
for(i=0;str[i];i++)
{
if(str[i]>=48 && str[i]<=57) n1++;
else if(str[i]>=65 && str[i]<=90) n2++;
else if(str[i]>=97 && str[i]<=122) n3++;
else n4++;
}
printf("數字:%d\n大寫字母:%d\n小寫字母:%d\n其他字元:%d\n",n1,n2,n3,n4);
}

void find()
{
char c;
int i;
printf("請輸入要查找的字元:");
getchar();
c=getchar();
for(i=0;str[i] && str[i]!=c;i++);
if(!str[i]) printf("Not found!\n");
else printf("字元%c的位置是%d\n",c,i+1);
}

void deletechar()
{
char c,i,j;
printf("請輸入要刪除的字元:");
getchar();
c=getchar();
for(i=0;str[i];i++)
{
if(str[i]==c)
{
for(j=i;str[j];j++) str[j]=str[j+1];
}
}
printf("字元%c已經被刪除!\n",c);
}

void encode()
{
int i;
for(i=0;str[i];i++)
{
if(str[i]>=65 && str[i]<=90)
{
str[i]=(str[i]+3)<=90?str[i]+3:(str[i]+3)-26;
}
if(str[i]>=97 && str[i]<=122)
{
str[i]=(str[i]+3)<=122?str[i]+3:(str[i]+3)-26;
}
}
printf("加密已經完成!\n");
}

void display()
{
puts(str);
}

Ⅳ 有沒有c語言網路討論的地方貼吧我加了c語言吧,c吧,c新手吧,c編程吧等等,但是吧里冷清的要死,

c語言這個東西首先要扎實基礎,因為有很多經典書籍,所以討論基本都是問答,大多不會有真正意義上的討論。不像java等在設計上有見仁見智的理解。c語言就像數學,有規矩,有方法,很成熟。

Ⅳ c語言程序設計(關於動態內存分配)問題。高手進

#include<stdio.h>

#include<malloc.h>

#include<stdlib.h>

voidmain()

{

intn,i,k,m,sum=0,*p,hign_score,low_score;//定義常量

floatave_score;

printf(":");

scanf("%d",&n);

p=(int*)malloc(n*sizeof(int));//動態內存分配

if(p==NULL)

{

printf("Insufficientmemoryavaiable.");

exit(0);

}

printf(": ");

for(i=0;i<n;i++)

scanf("%d",p+i);//輸入學生的分數

for(k=0;k<n;k++)//找最低的成績

{

if(*p>*(p+k))

{

m=*p;

*p=*(p+k);

*(p+k)=m;

}

}

for(k=0;k<n;k++)//找最高的成績,

{

if(*(p+n-1)<*(p+k))//這個地方你出錯了,有n個學生,它的地址應該是

{//p+n-1,你用的是p+n,指向任何數,出錯。

m=*(p+n-1);

*(p+n-1)=*(p+k);//同理,都是p+n-1

*(p+k)=m;

}

}

for(i=0;i<n;i++)

sum+=*(p+i);

ave_score=sum*1.0/n;

hign_score=*(p+n-1);//也應該是p+n-1

low_score=*p;

printf("%f ",ave_score);//輸出

printf("Thehighscoreofthestudentsis%d ",hign_score);

printf("Thelowscoreofthestudentsis%d ",low_score);

free(p);

}

PS:指針的題目容易出錯,用的什麼要小心。如果沒有語法錯誤,出錯的話,一般就是指針的地址有問題。

程序是對的,有運行結果。結貼吧

Ⅵ 關於C語言編程的 啊,高手進來吧

1.
#include<stdio.h>
void main()
{
int a[20]={2,4,6,8,10,12,14,16,18,20},n,count=0,i=0,in=0;
while(a[count]!=0)
{
printf("\n%d",a[count]);
count++;
}
printf("\nPlease input a integer which you want to insert:");
scanf("%d",&n);
while(a[in]<n)
{
in++;
}
for(i=count;i>in;i--)
a[i]=a[i-1];
a[in]=n;

count=0;

while(a[count]!=0)
{
printf("\n%d",a[count]);
count++;
}
}

2.
heng是數組的橫坐標,zong是數組的縱坐標,是多少自己修改那個宏定義就可以了

#include<stdio.h>
#define heng 3
#define zong 4
void main()
{
int num[heng][zong],i,j,max,maxj[heng]={0,0,0},min,mini[zong]={0,0,0,0};
for(i=0;i<heng;i++)
for(j=0;j<zong;j++)
{
printf("\na[%d][%d]=",i,j);
scanf("%d",&num[i][j]);
}
for(i=0;i<heng;i++)/*得出每一行的最大值的縱坐標*/
{
max=num[i][0];
for(j=1;j<zong;j++)
if(max<num[i][j])
{
max=num[i][j];
maxj[i]=j;
}

}

for(j=0;j<zong;j++)/*得出每一列的最小值的橫坐標*/
{
min=num[0][j];
for(i=1;i<heng;i++)
if(min>num[i][j])
{
min=num[i][j];
mini[j]=i;
}

}

for(i=0;i<heng;i++)/*如果相等則輸出這個數*/
for(j=0;j<zong;j++)
if(num[i][maxj[i]]==num[mini[j]][j])
printf("%d",num[i][maxj[i]]);
}

Ⅶ C語言程序設計---幫忙做一下吧

第一個人回答的有點問題,運行33000,20時會出現錯誤,是變數的類型沒定義好,下面這樣就對啦:
#include<stdio.h>
void main()
{
long x,y,p;
long prodct(long a,long b);
scanf("%ld,%ld",&x,&y);
p=prodct(x,y);
printf("The proct is:%ld\n",p);
}
long prodct(long a,long b)
{
long c;
c=a*b;
return c;
}