网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
11月03日漏签0天
c语言吧 关注:800,860贴子:4,369,984
  • 看贴

  • 图片

  • 吧主推荐

  • 视频

  • 游戏

  • 首页 上一页 1 2 3 4 5 6 7 8 9 10 下一页 尾页
  • 1465回复贴,共25页
  • ,跳到 页  
<<返回c语言吧
>0< 加载中...

回复:【教学贴】(二)新手学c的孩子们进吧,不定期回复

  • 只看楼主
  • 收藏

  • 回复
  • cnmb963741
  • 麻婆豆腐
    11
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
#include <stdio.h>
int main(void)
{
int n;
int i;
int sum;
i = 0;
sum = 0;
printf("请输入上限 n:");
sancf("%d", sum);
while(i <= n) {
i++;
sum=sum + i;
printf("sum=%d\n", sum);
}
getchar();
system("pause");
return 0;
}
还没有正式学过的,参考一些例题,想自己试试用c写一个自然数求和(1+2+3+4+5+...+n)的程序(不用递推公式的)。可是这个却进入死循环。谢谢~求助~


  • ___push___
  • 大能力者
    8
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

我想说_我用的是VS2013_试着编写C语言_结果是弹出cmd后就退出了_不想VC6.0如此停止_求助_谢谢_


2025-11-03 15:50:23
广告
不感兴趣
开通SVIP免广告
  • 木头都是套中人
  • 大能力者
    8
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
楼主帮我看看这题,楼主好人


  • 程序代码Said
  • 路人
    2
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
中缀转前缀的错了,值也求不出来,希望帮忙改一下
void lit(char sss[])
{
int m=0,k=strlen(sss),n=1;
char e;
for(k;k>=0;k--)
{
sss[k]=sss[k-1];
}
sss[m]='\0';
for(n;n<=k-1;n++)
{
printf("sssssssss%c",sss[n]);
}
}
void lit1(char sss[])
{
int m=0,k=strlen(sss)-1,n=strlen(sss);
char e;
for(m;m<k;m++)
{
e=sss[k];
sss[k]=sss[m];
sss[m]=e;
k--;
}
sss[n]='\0';
}
void Express(char str[],char exp[])//把中缀表达式转换为前缀表达式
{
SeqStack S;
char ch,s1[MaxSize];
char e;
int i=strlen(str),j=0,k=strlen(str)-1,m=0,n=strlen(str);
InitStack(&S);
lit(str);
ch=str[i];
i--;
while(ch!='\0') //依次扫描中缀表达式
{
switch(ch)
{
case')':
PushStack(&S,ch);
break;
case'(':
while(GetTop(S,&e)&&e!=')')
{
PopStack(&S,&e);
exp[j]=e;
j++;
}
PopStack(&S,&e);
break;
case'+':
case'-':
while(!StackEmpty(S)&&GetTop(S,&e)&&e!=')')
{
PopStack(&S,&e);
exp[j]=e;
j++;
}
PushStack(&S,ch);
break;
case'*':
case'/':
while(!StackEmpty(S)&&GetTop(S,&e)&&(e=='*'||e=='/'))
{
PopStack(&S,&e);
exp[j]=e;
j++;
}
PushStack(&S,ch);
break;
case' '://是空格就忽略
break;
default:
while(ch>='0'&&ch<='9')
{
exp[j]=ch;
j++;
ch=str[i];
i--;
}
i++;
exp[j]=' ';
j++;
}
ch=str[i];
i--;
}
while(!StackEmpty(S)) //将栈中剩余运算符出栈
{
PopStack(&S,&e);
exp[j]=e;
j++;
}
exp[j]='\0';
lit1(exp);
}
float Express1(char a[])//计算前缀表达式的值
{
OpStack S;
int i=0;
float x1,x2,value;
float result;
lit(a);
S.top=-1;
while(a[i]!='\0') //依次扫描后缀表达式
{
if(a[i]!=' '&&a[i]>='0'&&a[i]<='9')//如果是数字
{
value=0;
while(a[i]!=' ') //如果不是空格
{
value=10*value+a[i]-'0';
i++;
}
S.top++;
S.data[S.top]=value; //处理后进栈
}
else //如果是运算符
{
switch(a[i])
{
case'+':
x1=S.data[S.top];
S.top--;
x2=S.data[S.top];
S.top--;
result=x1+x2;
S.top++;
S.data[S.top]=result;
break;
case'-':
x1=S.data[S.top];
S.top--;
x2=S.data[S.top];
S.top--;
result=x1-x2;
S.top++;
S.data[S.top]=result;
break;
case'*':
x1=S.data[S.top];
S.top--;
x2=S.data[S.top];
S.top--;
result=x1*x2;
S.top++;
S.data[S.top]=result;
break;
case'/':
x2=S.data[S.top];
S.top--;
x1=S.data[S.top];
S.top--;
result=x2/x1;
S.top++;
S.data[S.top]=result;
break;
}
i++;
}
}
if(!S.top!=-1) //如果栈不空,将结果出栈并返回
{
result=S.data[S.top];
S.top--;
if(S.top==-1)
return result;
}
else
{
printf("表达式错误");
exit(-1);
}
return 0;
}


  • 贴吧用户_03QXWAJ
  • 超能力者
    9
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
lz大叔,新手来了;
老师让我输入f(x)=5+x;
这个f(x)到底要怎么定义,变量,字符串的好像都不行。


  • 孤独的聆听世界
  • 帕秋莉糕
    12
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
手机上下载编程软件,搜狗输入法里小于号在哪里?


  • 亅残殇乄
  • 低能力者
    5
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
我想学,连门路都找不到。怎么办啊。lz!help me。


  • 御宅小受
  • 超能力者
    9
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
你是在说单链表么?
typedef struct data{
data 所需的数据类型
exdata *data额外的数据。
}data,*exdata;
typedef struct Node{
data 数据
Node *next;//下一个数据节点地址
}Node,*linklist//node是数据节点,*linklist列表节点
需求
你是要在每次编译之前写数据文件改写这个程序么?
还是写好一个程序作为库什么的,然后编程序调用然后编译。
如果是后者的话将这个链表写在函数中,函数的传入值就是对data 的改写。
然后写好对于单链表的操作。
这个基本上是仿照c++的标准模板的思路走的。。。不知道你是不是这个意思
限制
在makefile中写清楚对于data的处理。
第二个限制,实际上是子类对于父类的继承。
如果是直接饮用的data,那这个结构体中的exdata就可以没有,赋值为NULL,如果有,定义呗。
不知道我那个结构体能不能满足。
@九重束风景


2025-11-03 15:44:23
广告
不感兴趣
开通SVIP免广告
  • 安适又独特丶风光0F
  • 毛蛋
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
0. 链表的结构
typedef struct list_ctl_struct {
list_ctl_struct *prev, *next;
} list_ctl_t;
看来你没理解我说的链表结构。
1. 原语container_of
#define container_of(ptr, type, member) ({ \
const typeof(((type *) 0)->member) *__mptr = ptr; \
(type *) ((char *) __mptr - offset_of(type, member)); })
2. 接口示例(很扭曲,请意会)
list_ctl_t *head, *iter;
list_foreach(iter, head) {
assign_symbol( some_entity, iter ) { /* do sth with some_entity */ }
}
这是个非常扭曲的例子,不过你能看出我需要从仿迭代器iter得到具有某种类型的变量,namely some_entity, 就可以了……


  • whitethegreat
  • 帕秋莉糕
    12
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
小白提问:zoj1001那个题目
while(scanf("%d%d",&a,&b))和while(scanf("%d%d",&a,&b)!=EOF)到底有什么不一样?
运行起来觉得都一样的。。


  • 御宅小受
  • 超能力者
    9
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
接口已经有了,在实现的过程中你可以查询数据节点的内容。
在数据节点中单独讲文件路径提出来。
当链表访问到虚拟文件地址的时候,做特殊化处理。
@九重束风景
这样行不行?


  • WATXA5
  • 超能力者
    9
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
#include <stdio.h>
int main(void)
{
int a,b,c,d,e,max;
printf( "请输入五个数字,我将求出最大值。\n" );
scanf( "%d%d%d%d%d\n",&a,&b,&c,&d,&e );
if ( a>=b ) {
b=a;
}
if ( b>=c ) {
c=b;
}
if ( c>=d ) {
d=c;
}
if ( d>=e ) {
e=d;
}
max=e;
printf( "max=%d\n",max );
return 0;
}
这个求最大值的程序有哪里不对吗?有的话能帮我指出来吗?


  • XT224466
  • 大能力者
    8
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
哪里错啦?用选择法排序10个数


  • 一年大神丶
  • 路人
    2
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
就十个人的姓名 十个分数 题里说让要用指针数组 把名字按字典顺序排序 然后分数跟在后面。 能帮随手写一下么, 大概意思就可以。。。。小白。。。


2025-11-03 15:38:23
广告
不感兴趣
开通SVIP免广告
  • 李_C_农
  • 便当
    3
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
请问各位大神,我是中学生,学校老师教我们编C程可我不知道用的是什么软件,求大神告诉我


登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 首页 上一页 1 2 3 4 5 6 下一页 尾页
  • 1465回复贴,共25页
  • ,跳到 页  
<<返回c语言吧
分享到:
©2025 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示