| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 256 人关注过本帖
标题:求改程序代码 手动输入改成读取.txt文件的形式
只看楼主 加入收藏
小小菜鸡
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2014-2-21
结帖率:100%
收藏
 问题点数:0 回复次数:0 
求改程序代码 手动输入改成读取.txt文件的形式
这个是生成txt文件的程序,v的输入范围不大于20(老师给我的要求就是1到2的20次方之间的随机数),我写的时候没有考虑过大于20会出现什么情况,反正满足20以下不会出错就好了。
程序代码:
#include <stdio.h>
#include <stdlib.h>
#include<time.h>
#include<math.h>
int main(int argc, char *argv[])
{
    long a[10000],i=0,j,t,num,v,max;
    FILE *fp=fopen("text.txt","w");
    printf("please enter the variable=");
    scanf("%d",&v);
    printf("please enter the munber=");
    scanf("%d",&num);
    fprintf(fp,".v %d\n.num %d\n",v,num); //第一行显示.i i的大小,第二行显示.M M的大小 
    srand(time(NULL)); 
    max=(long)pow(2,v);
    while(i<num)
    {
        a[i]=(long)(rand()*rand()%max+1);
        for(j=0;j<i;j++)
        {
            if(a[j]==a[i])
                break;
        }
        if(j==i)
        {
            i++;
        }
    }
    for(i=0;i<num-1;i++)
        for(j=i+1;j<num;j++)
            if(a[i]>a[j])
            {
                t=a[i];a[i]=a[j];a[j]=t;
            }
    for(i=0;i<num;i++)
        fprintf(fp,"%-d ",a[i]);
    

 fclose(fp);
     
  return 0;
}

现在有另一个程序,本来是手动输入的,但是如果要输入2000个数据,一个一个输入那确实要输入老半天。所以按要求谢了上面的程序。但是我不知道怎么正确的读取txt文件中数据。所以求助大神,能不能帮忙改一下。或者给个详细点的解决方案!谢谢!
下面的就是主程序,主程序还包含很多副程序,因为没有必要,就不贴了。主要就是把输入方式改一下就好了。或者有没有什么好的例子可以借鉴的?
程序代码:
int main()
{
  int num,i,n,maxbit;
  NODE* p;
  printf("请输入数的个数:(不等于0,至少输入2个)\n");
  scanf("%d",&num);
  LISTNODE *listnodep=malloc(sizeof(LISTNODE));
  add_listnode(listnodep);
  listnodep->listhead=NULL;
  for(i=0;i<num;i++){
    printf("第%d个数:",i+1);
    scanf("%d",&n);
    p=malloc(sizeof(NODE));
    p->num=n;
    add_node(&listnodep->listhead,p);
  }
  //这句话上面的就是程序的输入部分
  chnum=0;
  for(p=listnodep->listhead,n=-1;p;p=p->next){
    n=n&p->num;
  }
  if(n==0){
    if(condition_check(listnodep->listhead)){
      chnum+=num;
    }else{
      loop();
    }
  }else{
    chnum+=count1(n);
    maxbit=count_maxbit(listnodep->listhead);
    n=~(unsigned int)n%(1<<maxbit);
    for(p=listnodep->listhead;p;p=p->next){
      p->num&=n;
    }
    if(check_all0(listnodep->listhead)){
    }else{
      delete_all0(&(listnodep->listhead));
      if(listnodep->listhead->next==NULL){
        chnum+=count1(listnodep->listhead->num);
      }else{
        if(condition_check(listnodep->listhead)){
          chnum+=countnum(listnodep->listhead);
        }else{
          loop();
        }
      }
    }
  }
  printf("字母数=%d\n",chnum);
  system("pause");
  return 0;
}
2014-02-26 12:26
快速回复:求改程序代码 手动输入改成读取.txt文件的形式
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018205 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved