首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

100分求解简单C语言题(麻烦“星羽”进来下),该如何处理

2012-02-21 
100分求解简单C语言题(麻烦“星羽”进来下)to星羽:感谢你写下面多参数程序例子,我用的是VC6。0,运行不了。。。4

100分求解简单C语言题(麻烦“星羽”进来下)
to   星羽:   感谢你写下面多参数程序例子,我用的是VC6。0,运行不了。。。4个警告3个错误
void   _printf(char   *format,   ...)
{
        va_list   argptr;
        va_start   (argptr,   format);
        while   (*format)
        {
                switch   (*format)
                {
                case   's ':
                        printf( "Printing   a     string:%s\n ",(char   *)   va_arg(argptr,   char   *));
                        break;
                case   'c ':
                        printf( "Printing   a   char:%c\n ",   (char)   va_arg(argptr,int));
                        break;
                case   'd ':
                        printf( "Printing   a   integer:%d\n ",   (int)   va_arg(argptr,int));
                        break;
                }
                format++;
        }
        va_end(argptr);
}

void   main()
{

        _printf( "sd ",   "adfasdf ",   1);

        system( "pause ");
}

1)用C语言实现不定参数的函数的例子,   越简单越好。

2)书上两题程序题
用C语言编程实现求下面两个方程组的a,   b的近似解(越近似越好)(两个程序分开写,   不然我怕到时看不懂)   "^ "表示平方
1)7.9   =   a   *   (b   ^   70)
    47.25   =   a   *   (b   ^   160)

2)80   =   a   *   (b   ^   7.9)
    150   =   a   *   (b   ^   38.85)

3)如何初始化结构体指针?请看下面程序:我无论用哪种方式初始化指针L,   都可以正常运行,第一句初始化只分配了4个字节,怎么可以给结构里面变量赋值呢?谁详细讲解下两种方式的差别?(VC6.0)
#include   <stdio.h>
#include   <string.h>
#include   <malloc.h>
#include   <math.h>

struct   student
{
int       num;
float   score;
};
typedef   struct   student   *List;

int   main(void)
{
List   L   =   (List)malloc(sizeof(List));
//List   L   =   (List)malloc(sizeof(struct   student));

L-> num   =   10;
L-> score   =   50;

return   0;
}


4)(我要例子)动态增加数组大小,比如原来a[10],程序需要扩充到a[12],怎么实现呢?

5)下面程序,先按“1”创建“34”的表,再按“1”创建“34”的表,为什么会异常?我不知道什么原因,谁能讲解下?
#include   <stdio.h>
#include   <string.h>
#include   <malloc.h>
#include   <math.h>

//定义结构
struct   snode
{
int   data;
int   next;
};
typedef   struct   snode   *link;



struct   list
{
int     first;
int     usableFirst;
int     maxSize;
link   node;
};
typedef   struct   list   *List;


//实现部分
List   CreateList(int   size)
{
int   data;
int   i;
List   L   =   (List)malloc(sizeof(List));
L-> node   =   (link)malloc(size   *   sizeof(link));


for   (i   =   0;   i   <   size   -   1;   i++)
{
L-> node[i].next   =   i   +   1;
}
L-> node[i].next   =   -1;
L-> maxSize   =   size;

//输入数据
printf( "请输入数据(0结束):\n ");
scanf( "%d ",   &data);
L-> first   =   (data   ==   0)   ?   -1   :   0;
L-> usableFirst   =   0;
i   =   L-> first;
while   (data   !=   0   &&   i   !=   -1)
{
L-> node[i].data   =   data;
i   =   L-> node[i].next;
L-> usableFirst++;
scanf( "%d ",   &data);
}
if   (i   !=   -1)
{
L-> node[i].next   =   -1;
}

return   L;
}


void   PrintList(List   L)
{
int   i;

printf( "\n表输出:\n ");
for   (i   =   L-> first;   i   !=   -1;   i   =   L-> node[i].next)
{
printf( "%d\n ",   L-> node[i].data);
}
printf( "\n ");
}

int   main(void)
{
int   choice;
int   size;//表大小
List   myTable;

printf( "2.5     用游标实现表\n ");
do
{
printf( "1   --   创建表\n ");
printf( "8   --   打印表\n ");
printf( "0   --   退出\n ");
printf( "请选择: ");
while   (scanf( "%d ",   &choice)   !=   1)
{
fflush(stdin);
printf( "输入错误,请重新输入\n ");
}

switch   (choice)
{
case   1:
printf( "请输入你要创建的表的大小: ");
scanf( "%d ",   &size);
myTable   =   CreateList(size);
break;
case   8:
PrintList(myTable);
break;
case   0:
break;
default:
break;
}

}while   (choice   !=   0);

return   0;
}

[解决办法]
参考我的这篇文章
http://blog.tianya.cn/blogger/post_show.asp?idWriter=0&Key=0&BlogID=462085&PostID=8350482

[解决办法]
关于变参,网上很多资料

我表达能力不怎么样,无法很清晰告诉你

到网看看文章

http://study.feloo.com/computer/pro/c/jiqiao/200506/37419.html

。。。

热点排行