基础编程题
LZ想要的是这种答案吧。。。。
//-------------------------------第一题
#include stdio.h
#include "e:\myc\zylib\zylib.h"
STRING GetString(STRING prompt);
double GetReal(STRING prompt);
int main()
{
double bookprice;
STRING bookname;
bookname=GetString("请输入字符串:");
bookprice=GetReal("请输入实数:");
printf("字符串为:%s\n",bookname);
printf("实数为:%.2f\n",bookprice);
}
STRING GetString(STRING prompt)
{
STRING name;
printf("%s",prompt);
name=GetStringFromKeyboard();
return name;
}
double GetReal(STRING prompt)
{
double price;
printf("%s",prompt);
price=GetRealFromKeyboard();
return price;
}
//-------------------------------------第二题
#include stdio.h
#include "e:\myc\zylib\zylib.h"
BOOL IsPrime(int n);
int main()
{
int n;
printf("请输入一个整数:");
scanf("%d",n);
if(n2)
if(IsPrime(n))printf("%d是素数\n",n);
else printf("%d不是素数\n",n);
else printf("数据非法\n");
return 0;
}
BOOL IsPrime(int n)
{
int i;
for(i=2;in;i++)
if(n%i= =0) return FALSE;
return TRUE;
}
//--------------------------------第三题
#include stdio.h
#define TRUE 1
int gcd(int x,int y);
int main()
{
int m,n,max;
printf("请输入两个正整数:");
scanf("%d %d",m,n);
max=gcd(m,n);
printf("最大公约数为:%d\n",max);
return 0;
}
int gcd(int x,int y)
{
int r;
while(TRUE)
{
r=x%y;
if(r==0)break;
x=y;
y=r;
}
return y;
}
//--------------------------------第四题
#include stdio.h
#include "e:\myc\zylib\zylib.h"
typedef enum{sun,mon,tue,thi,wen,fri,sat}WEEKDAY;//定义枚举类型
int GetInteger(STRING prompt);//输入一下整数
int Count(int year,int month);//计算某年某月之前到2007年1月1日的天数
BOOL IsLeapYear(int n);//判断某年是否是闰年
int month_day(int year,int month);//计算某个月的天数
void print(int year,int month,int total);//打印某年某月的日历
void print1(WEEKDAY weekday);//打印某月的第1天
int main()
{
int year,month,total;
year=GetInteger("please input year:");
if(year2007)
PrintErrorMessage(FALSE,"年份小于2007,错误\n");
month=GetInteger("please input month:");
total=Count(year,month);
print(year,month,total);
}
int GetInteger(STRING prompt)
{
int t;
printf("%s",prompt);
t=GetIntegerFromKeyboard();
return t;
}
int Count(int year,int month)
{
int s,i;
s=0;
for(i=2007;iyear;i++)
if(IsLeapYear(i))s+=366;
else s+=365;
for(i=1;imonth;i++)
s+=month_day(year,i);
return s;
}
BOOL IsLeapYear(int n)
{
return n%4==0n%100!=0||n%400==0;
}
int month_day(int year,int month)
{
int day;
switch(month)
{
case 1:
case 3:
case 5:
case 7:
case 9:
case 10:
case 12:day=31;break;
case 2:day=28+IsLeapYear(year);break;
default:day=30;
}
return day;
}
void print(int year,int month,int total)
{
WEEKDAY weekday;
const WEEKDAY first=mon;
int i,day;
printf("%d-%d canlendar\n",year,month);
printf("-----------------------------------\n");
printf(" sun mon tue thi wen fri sat\n");
printf("-----------------------------------\n");
day=month_day(year,month);
for(i=1;i=day;i++)
{
weekday=(WEEKDAY)((total+i+first-1)%7);
if(i==1)print1(weekday);
else if(weekday==sat)
printf("%4d\n",i);
else printf("%4d",i);
}
printf("\n------------------------------------\n");
}
void print1(WEEKDAY weekday)
{
if(weekday==0)printf("%4d",1);
else if(weekday==1)printf("%8d",1);
else if(weekday==2)printf("%12d",1);
else if(weekday==3)printf("%16d",1);
else if(weekday==4)printf("%20d",1);
else if(weekday==5)printf("%24d",1);
else if(weekday==6)printf("%28d\n",1);
}
//---------------------------------------
上面的一些文件路径你自己改了,唉,其实我自己给你写的那些算法更好,。
1002【入门】编程求解1+2+3+...+n
#include stdio.h int main() { int i, s = 0, n; scanf("%d", n); for(i = 1; i = n; i++) s += i; printf("%d\n", s); return 0; }
C语言编程的几道题?我是初学者,谁帮我把步骤写下~
都在visual c++ 6.0里面运行
第一题
#include "stdafx.h"
#include "stdio.h"
int main()
{
printf("**************\n");
printf("* LANGUAGE *\n");
printf("* BEGINE *\n");
printf("**************\n");
return 0;
}
第二题
#include "stdafx.h"
#include "stdio.h"
#define P 3.14 //用宏定义圆周率的值
int main()
{
float r=1.5,h=3,s,v;
s=P*r*r; //圆的面积计算
printf("圆的面积为:%6.2f.\n",s); //输出圆的面积
v=s*h; //圆拄的体积计算
printf("圆柱的体积为:%6.2f.\n",v); //输出圆柱的体积
return 0;
}
第1题
#include "stdafx.h"
#include "stdio.h"
int main()
{
char c1,c2,c3;
printf("请输入一个字母:");
scanf("%c",c2);
if((c2='a'c2='z')||(c2='A'c2='Z'))
{
c1=c2-1;
c3=c2+1;
}
if(c2=='a')
c1='z';
if(c2=='z')
c3='a';
if(c2=='A')
c1='Z';
if(c2=='Z')
c1='A';
printf("三个字母为:%c %c %c.\n",c1,c2,c3);
return 0;
}
第2题
#include "stdafx.h"
#include "stdio.h"
int main()
{
int i,j,k;
float a;
printf("请输入三个整数:");
scanf("%d%d%d",i,j,k);
a=float(i+j+k)/3;
printf("这三个数的平均数是:%6.2f\n",a);
return 0;
}
第三题
#include "stdafx.h"
#include "stdio.h"
int main()
{
int i,g,s,b;
printf("请输入一个整数:");
scanf("%d",i);
while(i100||i1000)
{
printf("范围错误 !\n");
printf("重新输入!\n");
scanf("%d",i);
}
b=i/100;
s=(i-b*100)/10;
g=i-b*100-s*10;
printf("个位数是:%d,十位数是:%d,百位数是:%d.\n",g,s,b);
return 0;
}
JAVA基础编程题
package com.qiu.swing.layoutDemo;
import java.awt.Container;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.Box;
import javax.swing.BoxLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JRootPane;
import javax.swing.JTextField;
/**
*
* @author Qiu
*
*/
public class TextDemo extends JFrame{
final JButton button_show = new JButton("显示");
final JButton button_clear = new JButton("显示");
final JTextField text = new JTextField();
final Container con = this.getContentPane();
public TextDemo() {
this.setTitle("HelloWorld!");
this.setSize(300, 160);
// 居中
this.setLocationRelativeTo(null);
this.setUndecorated(true); // 去掉窗口的装饰
this.setResizable(false);
this.getRootPane().setWindowDecorationStyle(
JRootPane.INFORMATION_DIALOG);// 采用指定的窗口装饰风格
// 文字居中
text.setSize(100, 20);
Box vbox = Box.createVerticalBox();
Box xbox0 = Box.createHorizontalBox();
xbox0.add(text);
xbox0.add(button_show);
xbox0.add(button_clear);
vbox.add(xbox0);
vbox.add(Box.createVerticalStrut(100));
con.setLayout(new BoxLayout(con, BoxLayout.X_AXIS));
con.add(vbox);
button_show.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
text.setText("HelloWorld");
}
});
button_clear.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
text.setText("");
}
});
}
public static void main(String[] args) {
TextDemo home = new TextDemo();
home.setVisible(true);
}
}
单片机编程问题(C语言),很入门的问题,明天比赛,急急急!多少分都可以
下列程序已经调好,按键显示电路可见:
http://hi.baidu.com/%D7%F6%B6%F8%C2%DB%B5%C0/blog/item/ef086222268d4f4eac34de59.html
//单片机:使用51系列兼容的即可;
//4×4矩阵键盘:接在P1口;
//两位数码显示器: P0口输出七段码,P2口输出位选码。
/========================================
//C语言程序如下。
/*************************************************************
* 文件名: KEY_LED.c
* 功能 : 对4×4矩阵键盘进行输出,在数码管后两位显示按键值。
**************************************************************/
#include reg51.h
#include intrins.h
#define uint unsigned int
#define uchar unsigned char
uchar code table[10] = {0xC0, 0xf9, 0xa4, 0xb0, 0x99, 0x92, 0x82, 0xf8, 0x80, 0x90};
uchar sec, t_50ms;
/**************************************************************
* 名称 : Delay_1ms()
* 功能 : 延时子程序,延时时间为 1ms * x
* 输入 : x (延时一毫秒的个数)
* 输出 : 无
***************************************************************/
void Delay_1ms(uint x)
{
uint i;
uchar j;
for(i = 0; i x; i++) for(j = 0; j = 148; j++);
}
/**************************************************************
* 名称: Display(uchar k)
* 功能: 将参数分成十位、个位分别显示
* 输入: k (键盘数值)
* 输出: P0口输出七段码,P2口输出位选码
***************************************************************/
void Display(uchar k)
{
P2 = 0; //消隐
P0 = table[k / 10];
P2 = 0x02; Delay_1ms(5); //显示5ms十位
P2 = 0; //消隐
P0 = table[k % 10];
P2 = 0x01; Delay_1ms(5); //显示5ms个位
}
/**************************************************************
* 名称: Keyscan()
* 功能: P1外接4×4按键, 按照扫描法读出键值
* 输出: 按键值0~15/如无键按下, 返回16
***************************************************************/
uchar Keyscan(void)
{
uchar i, j, temp, Buffer[4] = {0xef, 0xdf, 0xbf, 0x7f};
for(j = 0; j 4; j++) { //循环四次
P1 = Buffer[j]; //在P1高四位分别输出一个低电平
temp = 0x01; //计划先判断P1.0位
for(i = 0; i 4; i++) { //循环四次
if(!(P1 temp)) //从P1低四位,截取1位
return (i + j * 4); //返回取得的按键值
temp = 1; //判断的位,左移一位
} }
return 16; //判断结束,没有键按下,返回16
} //呵呵,实质性的语句不过8行,就是这么简练!
/**************************************************************
* 名称: GetKey()
* 功能: 读出按键、消抖、等待按键释放
* 输出: 按键值0~15/如无键按下, 返回16
***************************************************************/
uchar GetKey(void)
{
uchar Key_Temp1, Key_Temp2; //两次读出的键值
P1 = 0xff;
Key_Temp1 = Keyscan(); //先读入按键
if(Key_Temp1 == 16) return 16; //没有键按下,返回16
Display(sec); //用显示代替延时
Key_Temp2 = Keyscan(); //再读一次按键
if(Key_Temp1 != Key_Temp2) return 16; //不同,返回16
while(Keyscan() 16) //等待按键释放
Display(sec); //等待期间显示
return Key_Temp1;
}
/**************************************************************
* 名称 : Main()
* 功能 : 主函数
***************************************************************/
void Main(void)
{
uchar Key_Value; //读出的键值
sec = 0;
TMOD = 0x01;
TH1 = (65536-50000)/256;
TL1 = (65536-50000)%256;
TR0 = 1;
ET0 = 1;
EA = 1;
while(1) {
Display(sec); //显示
if (GetKey() == 10) {
TR0 = 0;
while (TR0 == 0) {
Display(sec); //显示
Key_Value = GetKey();
if (Key_Value 10) {
sec %= 10;
sec = sec * 10 + Key_Value;
}
if (Key_Value == 10) TR0 = 1;
} } }
}
/**************************************************************
* 名称 : T0_INT()
* 功能 : T0中断函数
***************************************************************/
void T0_INT() interrupt 1
{
TH1 = (65536-50000)/256;
TL1 = (65536-50000)%256;
t_50ms++;
if(t_50ms = 20) {
t_50ms = 0;
sec++;
sec %= 60;
}
}
/*************************************************************/
C语言编程题,初学
#includestdio.h
#includemath.h
main()
{
int x,y,r=0,i=0,n=0,nmin=0;
scanf("%d %d",x,y);
r=x=y?x:y;
for(i=1;i=r;i++){
if((x%i==0) (y%i==0)){
n=i;
}
}
/* 最小公倍数=两数的乘积/最大公约(因)数 */
nmin=x*y/n;
printf("%d ",nmin); /*最小公倍数*/
printf("%d ",n); /*最大公约数*/
}
/*统计字符*/
#includestdio.h
#includemath.h
main()
{
char ch;
int letternum=0,num=0,othernum=0,spacenum=0;
while(1){
scanf("%c",ch);
if((ch=65 ch=90)|| (ch=97 ch=122)){
letternum++;
}
else if(ch=48 ch=57){
num++;
}
else if(ch==32){
spacenum++;
}
else if(ch=='\n'){
break;
}
else {
othernum++;
}
}
printf("%d,%d,%d,%d",letternum,num,spacenum,othernum);
}
/*求阶乘时会溢出*/
#includestdio.h
#includemath.h
main()
{
int n=1,i;
int s=0;
for(i=1;i=20;i++){
n=i*n;
s=s+n;
}
printf("%d",s);
}
/*三个数的立方可以改成公式形式*/
#includestdio.h
#includemath.h
main()
{
int i,num=0;
int n1=0,n2=0,n3=0;
for(i=100;i=999;i++){
n1=i/100;
n2=(i%100)/10;
n3=i%10;
if(i== n1*n1*n1 + n2*n2*n2 + n3*n3*n3){
printf("%d ",i);
}
}
}