| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1442 人关注过本帖
标题:求教 如何学好C语言 并教教我解决几个基础问题
只看楼主 加入收藏
a343637412
Rank: 7Rank: 7Rank: 7
来 自:そ ら
等 级:黑侠
帖 子:357
专家分:620
注 册:2010-9-26
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:9 
求教 如何学好C语言 并教教我解决几个基础问题
Problem Description
求实数的绝对值。
Input
输入数据有多组,每组占一行,每行包含一个实数。
Output
对于每组输入数据,输出它的绝对值,要求每组数据输出一行,结果保留两位小数。
Sample Input
123
-234.00

Sample Output
123.00
234.00




计算两点间的距离
输入两点坐标(X1,Y1),(X2,Y2),计算并输出两点间的距离。
Input
输入数据有多组,每组占一行,由4个实数组成,分别表示x1,y1,x2,y2,数据之间用空格隔开。
Output
对于每组输入数据,输出一行,结果保留两位小数。
Sample Input
0 0 0 1
0 1 1 0
Sample Output
1.00
1.41

成绩转换
Time Limit : 2000/1000ms (Java/Other)   Memory Limit : 65536/32768K (Java/Other)
Total Submission(s) : 2   Accepted Submission(s) : 0
Font: Times New Roman | Verdana | Georgia
Font Size: ← →
Problem Description
输入一个百分制的成绩t,将其转换成对应的等级,具体转换规则如下:
90~100为A;
80~89为B;
70~79为C;
60~69为D;
0~59为E;

Input
输入数据有多组,每组占一行,由一个整数组成。
Output
对于每组输入数据,输出一行。如果输入数据不在0~100范围内,请输出一行:“Score is error!”。
Sample Input
56
67
100
123
Sample Output
E
D
A
Score is error!

Author


求奇数的乘积
Time Limit : 2000/1000ms (Java/Other)   Memory Limit : 65536/32768K (Java/Other)
Total Submission(s) : 2   Accepted Submission(s) : 2
Font: Times New Roman | Verdana | Georgia
Font Size: ← →
Problem Description
给你n个整数,求他们中所有奇数的乘积。
Input
输入数据包含多个测试实例,每个测试实例占一行,每行的第一个数为n,表示本组数据一共有n个,接着是n个整数,你可以假设每组数据必定至少存在一个奇数。
Output
输出每组数中的所有奇数的乘积,对于测试实例,输出一行。
Sample Input
3 1 2 3
4 2 3 4 5

Sample Output
3
15

Author

搜索更多相关主题的帖子: C语言 基础 
2010-09-26 12:58
a343637412
Rank: 7Rank: 7Rank: 7
来 自:そ ら
等 级:黑侠
帖 子:357
专家分:620
注 册:2010-9-26
收藏
得分:0 
我会在明天夜里9~10点上线求问谢谢各位帮忙的大虾
2010-09-26 12:59
m21wo
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
威 望:4
帖 子:440
专家分:1905
注 册:2010-9-23
收藏
得分:0 
程序代码:
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
    double* a;
    int n;
    cout<<"请输入您要输的数个数:";
    cin>>n;
    a=new double[n];
    for(int i=0;i<n;i++)
        cin>>a[i];
    for(int i=0;i<n;i++)
    {
        cout.setf(ios::showpoint);
        cout<<fabs(a[i])<<endl;
    }
}



#include <iostream>
#include <cmath>
const int N=10;
using namespace std;
double dis(double x1,double y1,double x2, double y2)
{
    double m=(x1-x2)*(x1-x2)+(y1-y2)*(y1-y2);
    return sqrt(m);
}
int main()
{
    double a[N][4];
    int n;
    cout<<"请输入数据的组数:";
    cin>>n;
    cout<<"请输入数据:"<<endl;
    for(int i=0;i<n;i++)
        for(int j=0;j<4;j++)
            cin>>a[i][j];
    double* m;
    m=new double[n];
    for(int i=0;i<n;i++)
        m[i]=dis(a[i][0],a[i][1],a[i][2],a[i][3]);
    cout<<"对应的距离:"<<endl;
    cout.precision(3);
    cout.setf(ios::showpoint);
    for(int i=0;i<n;i++)
        cout<<m[i]<<endl;
}





#include <iostream>
using namespace std;
char transform(double m)
{
    switch(int(m/10))
    {
        case 10 :case 9:
            return 'A';
        case 8 :
            return 'B';
        case 7 :
            return 'C';
        case 6 :
            return 'D';
        case 5 :case 4:case 3:case 2:case 1:case 0:
            return 'E';
        default:
            return '0';
    }
}
int main()
{
    double* a;
    int n;
    cout<<"请输入您要输的数个数:";
    cin>>n;
    a=new double[n];
    cout<<"请输入数据:"<<endl;
    for(int i=0;i<n;i++)
        cin>>a[i];
    cout<<"转换后的为:"<<endl;
    for(int i=0;i<n;i++)
    {
      char m=transform(a[i]);
      if(m=='0')
      {
          cout<<"Score is error!"<<endl;
          continue;
      }
      cout<<m<<endl;
    }
}
前三个代码!如有不足之处,请指正!!!呵呵!

If You Want Something, Go Get It, Period.
2010-09-26 19:00
m21wo
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
威 望:4
帖 子:440
专家分:1905
注 册:2010-9-23
收藏
得分:0 
第4个题!
程序代码:
#include <iostream>
using namespace std;
int main()
{
    int m;
    cout<<"请输入数据的组数:";
    cin>>m;
    int* s;
    s=new int[m];
    for(int i=0;i<m;i++)
        s[i]=1;
    int x;
    int** a;
    a=new int*[m];
    for(int i=0;i<m;i++)
    {
        cin>>x;
        a[i]=new int[x];
        for(int j=0;j<x;j++)
        {
            cin>>a[i][j];
            if(a[i][j]%2!=0)
                s[i]*=a[i][j];
        }
    }
    for(int i=0;i<m;i++)
        cout<<s[i]<<endl;
}


If You Want Something, Go Get It, Period.
2010-09-26 19:25
m21wo
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
威 望:4
帖 子:440
专家分:1905
注 册:2010-9-23
收藏
得分:0 
第一个题目没看清!
程序代码:
#include <iostream>
#include <cmath>
#include<iomanip>
using namespace std;
int main()
{
    double* a;
    int n;
    cout<<"请输入您要输的数个数:";
    cin>>n;
    a=new double[n];
    for(int i=0;i<n;i++)
        cin>>a[i];
    for(int i=0;i<n;i++)
    {
        cout.setf(ios::showpoint);
        cout.setf(ios::fixed);
        cout<<setprecision(2)<<fabs(a[i])<<endl;
    }
}

这个应该可行了!

If You Want Something, Go Get It, Period.
2010-09-26 19:42
jaedong
Rank: 1
等 级:新手上路
帖 子:5
专家分:7
注 册:2010-9-23
收藏
得分:5 
楼上高手 C C++ 初学者路过! 我想搞嵌入式开发 如何上手?
2010-09-26 21:08
fairy_tail
该用户已被删除
收藏
得分:5 
回复 3楼 m21wo
提示: 作者被禁止或删除 内容自动屏蔽
2010-09-26 23:52
m21wo
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
威 望:4
帖 子:440
专家分:1905
注 册:2010-9-23
收藏
得分:5 
是对的啊 !我也运行了啊!我后面调用了transform 函数怎么会找不到啊?

If You Want Something, Go Get It, Period.
2010-09-27 13:37
吴伟迪
Rank: 2
等 级:论坛游民
威 望:1
帖 子:26
专家分:31
注 册:2010-9-27
收藏
得分:5 
回复 8楼 m21wo
for(int i=0;i<m;i++)
这句话报错了啊
for 里定义I,哪来INT啊
2010-09-27 19:59
吴伟迪
Rank: 2
等 级:论坛游民
威 望:1
帖 子:26
专家分:31
注 册:2010-9-27
收藏
得分:0 
回复 8楼 m21wo
switch里面的case语句后面不加break,不管你怎么输入都是执行最后那一个,不管怎么样输出都是E
2010-09-27 20:05
快速回复:求教 如何学好C语言 并教教我解决几个基础问题
数据加载中...
 
   



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

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