当前位置:首页 » 编程语言 » 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;
}