Ⅰ 新手求助c语言
____________________________________________________________
#include <stdio.h>
#include <math.h>
int main()
{
float a,b,c,delda,x1,x2;
start:printf("本函数功能是求解一元二次方程!\n请输入方程的参数a,b,c(用空格分开):\n");
scanf("%f%f%f",&a,&b,&c);
if (a==0)
{
printf("这不是一个一元二次方程\n");
goto restart;
}
delda=(b*b-4*a*c);
if (delda==0)
{
printf("这个方程有两个相等的实根。\n它们是x1=%.2f和x2=%.2f\n",-b/(2*a),-b/(2*a));
goto restart;
}
if (delda>0)
{
printf("这个方程有两个不相等的实根。\n它们是x1=%.2f和x2=%.2f\n",(-b+sqrt(delda))/(2*a),(-b-+sqrt(delda))/(2*a));
goto restart;
}
if (delda<0)
{
printf("这不方程有两个复根。等于多少不要问我,我也没学过!\n");
goto restart;
}
restart:printf("按回车键继续……\n");
getchar();
if (getchar())
{
goto start;
}
}
_________________________________________________________________
2有一个数列:1/2,2/3,3/5,5/8,8/13,13/21,...试编写程序,求数列前100项之和
________________________________________________________________
#include <stdio.h>
int main()
{
float zi=2.0,mu=1,fen,s=0,x;
int i;
for (i=1;i<=20;i++)
{
fen=mu/zi;
s+=fen;
x=mu;
mu=zi+mu;
zi=x;
}
printf("%f",s);
getchar();
}
_______________________________________________________________
3打印所有的”水仙花数”.所谓”水仙花数”是指一个3位数,其各位数字立方和等于该数本身.例如:153是一个水仙花数,因为:153=1^3+5^3+3^3
_______________________________________________________________
#include <stdio.h>
int main()
{
int a,b,c,i;
for(i=100;i<=999;i++)
{
a=i/100;
b=(i%100)/10;
c=(i%100)%10;
if (i==(a*a*a)+(b*b*b)+(c*c*c))
printf("%d ",i);
}
getchar();
}
_______________________________________________________________
4猴子吃桃问题.猴子第一天摘下若干桃子,当即吃了一半又加一个,第二天早上又将剩下的桃子吃了一半又加一个.以后每天早上都吃了前一天剩下的一半加一个.到第10天早上想吃时,就只剩下一个桃子了.求第一天一共摘下多少桃子
__________________________________________________________________
#include <stdio.h>
int main()
{
int a=1,b,c,i;
for (i=10;i>1;i--)
{
a=(a+1)*2;
}
printf("猴子第一天吃了%d个桃子!",a);
getchar();
}
______________________________________________________________
上面的程序全部是我自己编的,没有版权问题!
谢谢!
_________________________________________________________
严重声明
———————————————————————————————这里代码是自己写的,至于猴子吃桃问题是不是我抄的,大家看一下这里
一楼大哥好像比我后发表把,谁抄谁的呢?
留给读者思考!
——————————————————————
所有代码均通过编译,没有错误和警告!!!!!
另外,虚机团上产品团购,超级便宜
Ⅱ c语言入门教学
楼主,你可以去编程入门网,那里有挺多知识点的,很多语言都有,很适合初学者,你也可以去CSDN,那里有很多源代码提供下载,也有论坛,呵呵,你也不要忽视网络贴吧,知道,贴吧是学习很多课本没有东西的地方,知道,你需要看解决答案,这样很有收获,你也可以去中国编程网,不过,我觉得一楼也是有道理的,看看书掌握知识点,网上我觉得主要还是提高的地方哦……呵呵……关于怎么学,我是这么过来的,每看一节书,做一节课后习题,其实初学主要还是学习语法和算法(解决问题的方法),多上机自己写程序,写不出来看答案的算法,自己再写一边,关键这个阶段还是积累为主,基本知识学好了,可以学深入编程,不过你需要有熟悉的语法,可以写一些小程序:学生成绩管理系统等等,就过关了,然后可以学习链表,图像编程,等等高级编程……呵呵……努力一定有回报的……加油吧…
Ⅲ 为什么C语言吧的人很抵制谭浩强的书啊
哥告诉你真理,国内的书侧重怎么用,国外的书侧重为什么用。不过可惜的是本来国外的书不错的,被翻译一下之后。。。也不咋滴了。。。
谭老的书经典,不过这么多年过去了,有更好的书出来也无可厚非。他是有贡献的人,在那个时代很可贵的,0不能诋毁0。
Ⅳ C语言小程序求指点,说是语法错误执行不了
错误有点小多,不过熟能生巧修改如下
#include <stdio.h> //这里修改成 <> 包含头文件
#include <math.h>
int main() //这里加上 int main() ,每个c/c++程序必须有一个主函数
{
double a,b,c,x1,x2,q,p,disc;
scanf("%f%f%f",&a,&b,&c); //这里加上逗号
disc= b*b - 4*a*c;
if(disc<0) //这里修改为disc 而不是你源码中的dics 去掉语句结束符
printf("This equation hasnt a real roots\n");
else
{
p=a/2.0*a;
q=sqrt(disc)/2.0*a; //sqrt是函数需要sqrt(disc)这样调用
x1=q+p,x2=q-p;
printf("real roots:\n%7.2f\n%7.2f",a,b);
}
return 0;
}
观楼主英俊潇洒,风流倜傥,必当世豪杰,大侠闲暇之余,关注0x30网络贴吧,必成千秋霸业,建不世之功。
Ⅳ 关于c语言指针的一些问题。
1、不是说系统64位它就是8字节,而是受限于地址总线的字节宽度,你的地址总线是64位的即指针就是8字节的,但是现在的64位个人pc多半是x86-64能兼容32位的应用程序。
2、有,你64 位的机器,它的虚拟内存可以到8TB,如果你在64位机上装个32位的windows你会发现,我的个去……慢的要死(我犯过这样的低级错误)
3、指针保存的是地址,比如32位机上,每个地址都是32位的,所以它始终都是4字节,没有最大或者最小。
观楼主英俊潇洒、风流倜傥,必当世之豪杰,诚邀楼主加入0x30网络贴吧,共商义举,成千秋霸业。
Ⅵ 比较有名的C/C++语言贴吧有哪些
您说的是网络贴吧 还是别的论坛?
网络C语言贴吧http://tieba..com/f?ct=&tn=&rn=&pn=&lm=&cm=0&kw=c%D3%EF%D1%D4&rs2=0&sc=&un=&rs1=&rs5=&sn=&rs6=&myselectvalue=0&word=c%D3%EF%D1%D4&tb=on
还有比较有名的CSDN论坛http://community.csdn.net/
Ⅶ 推荐几个有逼格,能真正学到东西的贴吧!关于电子产品方面的。
火狐吧、C语言吧、显卡吧、电脑吧
(然后,如果我的回答对你有帮助,请点击我回答旁边的采纳答案按钮!谢谢o(≧v≦)o~!)
Ⅷ 如何学好C语言
就把谭浩强那本书高透了 基础打好了就好说了
比如最基础的 数组 符号 递归 循环 等最基础的东西打牢.
Ⅸ C语言的高手请来解释一下,本来菜鸟,才接触C.
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
#include<string.h>
struct AddressList //这里声明一个通讯录结构,
保存一个人的信息
{
char name[20];
char address[30];
char tel[20];
char youbian[50];
}st[20]; //这里声明一个20元素的通讯
录 数组,可以保存20个人的
int i=0; //全局变量,指示数组的元素
void shuru() //这是逐个输入一个通讯录的各条
信息处理函数
{
FILE *fp;
char a;
fp=fopen("information.txt","a+"); //打开information.txt文件
这里是通讯录记录文件
最后的信息会放到这个文件
do
{
printf("\n请输入姓名:");
scanf("%d",&st[i].name); //多了?
gets(st[i].name); //输入名字
printf("\n");
printf("\n请输入地址:");
gets(st[i].address); //输入地址
fflush(stdin); //清空输入缓冲
printf("\n请输入电话:");
gets(st[i].tel); //
fflush(stdin);
printf("\n请输入邮编:");
gets(st[i].youbian); //
fflush(stdin);
fwrite(&st[i],sizeof(struct AddressList),1,fp); //将结构写入文件
printf("\n是否继续输入另外一个人的信息?(y/n)");
fflush(stdin);
a=getchar();
i++;
}
while(a=='y'&&i<=20); //如果输入y则关闭文件
fclose(fp);
}
int xianshi() //显示文件中的记录
{
int j;FILE *fp;
if((fp=fopen("information.txt","r"))==NULL) //打开文件句柄
{
printf("通讯录还没记录");
return 0;
}
printf("\t姓名\t电话\t地址\t邮编\n");
for(j=0;fread(&st[j],sizeof(struct AddressList),1,fp)!=0;j++) //读
//结构,分别打印出里面的各个属性
printf("\t%s\t%s\t%s\t%s\n",st[j].name,st[j].tel,st[j].address,st[j].youbian);
return 1;
}
int chazhao() //查找文件中有没有这个人
{
int m;FILE *fp;
char name[20],b;
if((fp=fopen("information.txt","r"))==NULL) //打开文件
{
printf("还没有通讯信息");
return 0;
}
do
{
printf("\n请输入你需要查找人的姓名:");
fflush(stdin); //清空输入缓冲
gets(name); //读取名字
//下面顺序读取文件中的每个结构,判断这个结构中的姓名是不是
//要找的那个
for(m=0;fread(&st[m],sizeof(struct AddressList),1,fp)!=0;m++)
{
if(strcmp(name,st[m].name)==0) //这里是个字符串比较函数,相同返
//回0
{
printf("\n\t你查找的联系人在第%d个位置找到\n",m+1);
break;
}
}
问题补充:
if(m>=20) //到第20个之后都没找
//到,说明不存在这样
//的
printf("\n\t没有找到这个人\n");
else
{ //此时打印此人的所
//有信息
printf("\t姓名\t电话\t地址\t邮编\n");
printf("\t%s\t%s\t%s\t%s\n",st[m].name,st[m].address,st[m].tel,st[m].youbian);
}
printf("\n是否查找另一个人的信息?(y/n)");
fflush(stdin);
b=getchar();
}
while (b=='y');
return 1;
}
int shanchu() ///删除特定的记录
{
char name[20],c;FILE *fp,*fp1;
int a,flag=0;
if((fp=fopen("information.txt","r"))==NULL) //打开
{
printf("还没有学生信息");
return 0;
}
fp1=fopen("informationl.txt","w");
do
{
printf("\n请输入要删除人的姓名:\n");
fflush(stdin);
gets(name); //同上,顺序查找
for(a=0;fread(&st[a],sizeof(struct AddressList),1,fp)!=0;a++)
{
if(strcmp(name,st[a].name)!=0) //找到不是这个名字的,就把这
//条记录写到另一个文件fp1中
fwrite(&st[a],sizeof(struct AddressList),1,fp1);
else
flag=1;
}
fclose(fp);
fclose(fp1); //关闭文件
fp=fopen("information.txt","w");
fp1=fopen("informationl.txt","r"); //再把informationl.txt中的东西写回
//information.txt中
for(a=0;fread(&st[a],sizeof(struct AddressList),1,fp1)!=0;a++)
{
fwrite(&st[a],sizeof(struct AddressList),1,fp);
}
fclose(fp);
fclose(fp1); //关闭文件
if(flag==0)
printf("\t没有找到这个人\n");
else
xianshi();
printf("\n是否继续删除另一个联系人的信息?(y/n)");
fflush(stdin);
c=getchar();
}
while(c=='y'); /同上
return 1;
}
void charu() //纯调用
{
xianshi();
shuru();
}
void jieshu() //自己看
{
printf("\n");
printf("\n");
printf("\n");
printf("\n");
printf("\t\t欢迎使用次通讯录\t\n");
printf("\n");
printf("\n");
printf("\n");
printf("\t\t\t07电专班:田依轩\t\t\n");
}
void main()
//主函数先初始化之后,就让你输入change的值,根据你的需
//要输入,用switch来决定调用什么函数
{
int change;
do
{
system("cls");
printf("================================欢迎来到通讯录=================================\n");
printf("\t\t1: 输入\n");
printf("\t\t2: 显示\n");
printf("\t\t3: 查找\n");
printf("\t\t4: 删除\n");
printf("\t\t5: 插入\n");
printf("\t\t6: 退出程序\n");
fflush(stdin);
printf("\t\t请在以下功能选项中选择:");
scanf("%d",&change);
switch(change)
{
case 1:
shuru();break;
case 2:
xianshi();break;
case 3:
chazhao();break;
case 4:
shanchu();break;
case 5:
charu();break;
case 6:
jieshu();break;
}
getch();
}
while(change!=6);
}
程序要多看,自然就会了
Ⅹ c语言贴吧
#include<stdio.h>
#include<string.h>
voidcatStr(char*str1,char*str2)
{
inti,j;
for(i=0;str1[i]!='